大家好,创建wordpress新主题。
边栏有问题,它应该显示主父标题,然后显示所有的子标题。
<?php if ( !function_exists('register_sidebar')|| !register_sidebar() ) : ?>
<ul id="sidebar">
<?php
if($post->post_parent){
$children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
$title_heading = get_the_title($post->post_parent);
} else {
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
$title_heading = get_the_title($post->ID);
}
if($children) { ?>
<li><h3><?php echo $title_heading; ?> </h3>
<ul>
<?php echo $children; ?>
</ul></li>
<?php } ?>
</ul>
<?php endif; // end primary widget area ?>
但是它没有显示任何东西
在firebug中显示侧边栏div,因此正在显示侧边栏。
它在本地主机上,所以不能提供url。
感谢所有的帮助
干杯乔
我可以看出两个问题之一:
-
你有一个侧边栏注册,这意味着条件已经通过,它正在尝试使用widget侧边栏;您的侧边栏中没有小部件,因此它没有显示任何内容。(换句话说,如果你有一个侧边栏,上面的代码无论如何都不会显示任何东西)。
-
您没有注册侧边栏,因此它正在通过条件。然而,下一个条件没有被传递,因为它们没有被满足,或者因为循环还没有触发,你没有访问这些变量。
查看是否满足条件的快速而廉价的方法是简单地在每个条件中回显一些纯文本或标记:
...
if($post->post_parent){
echo('Parent found');
...
例如()