2011-04-04 90 views
0

我試圖創建一個小部件,顯示一個列表取決於頁面是否有孩子。這裏是我的代碼看起來像迄今:成功顯示WordPress的條件聲明

<?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

你能否澄清你的第二個到最後一段? – Wipqozn 2011-04-04 11:43:38

+0

「但是元素不是」女巫元素?你可以粘貼一個print_r($ children)和HTML輸出,你說它不工作.. – 2011-04-05 02:34:33

回答

1

wp_list_pages()將始終輸出頁面列表。即使你嘗試將它分配給一個變量。這相當於$children = echo 'string';,這不起作用。

你想要做的就是定義什麼:

$children = get_pages('child_of='.$post->ID); 

然後檢查它有條件

if (count($children) != 0) { 
    //this is where the magic happens 
}