Wordpress条件声明

时间:2011-04-04 11:35:51

标签: php html wordpress wordpress-plugin

我正在尝试创建一个窗口小部件,根据页面是否有子项显示列表。这是我的代码到目前为止的样子:

<?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参数的一部分是不切实际的。

1 个答案:

答案 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
}