我正在尝试创建一个窗口小部件,根据页面是否有子项显示列表。这是我的代码到目前为止的样子:
<?php
function widget_myHelloWorld() {
?>
<?php if ( is_page() ) { ?>
<?php
global $id;
$children = wp_list_pages("title_li=&child_of=$id&show_date=modified&date_format=$date_format");
if ($children) {?>
<ul>
<?php echo $children; ?>
</ul>
<?php } } ?>
<?php
}
function myHelloWorld_init()
{
register_sidebar_widget(__('Sidebar Sub Navigation'), 'widget_myHelloWorld');
}
add_action("plugins_loaded", "myHelloWorld_init");
?>
包含指向子页面链接的<li>
元素已成功显示,但元素不是。知道这里发生了什么吗?
*最后,我需要添加一些div和其他元素,因此只需在wp_list_pages()
中插入额外代码作为wrap参数的一部分是不切实际的。
答案 0 :(得分:1)
wp_list_pages()将始终输出页面列表。即使您尝试将其分配给变量。它相当于$children = echo 'string';
,但不起作用。
你想做的是定义:
$children = get_pages('child_of='.$post->ID);
然后有条件地检查
if (count($children) != 0 ) {
//this is where the magic happens
}