2013-11-21 70 views
0

我試圖爲我的WordPress的網站添加一個下拉菜單。 我一直在努力遵循WordPress的codex,我可以得到它的工作,但我不知道如何得到它在我的菜單中我已經在wordpress中。WordPress的菜單導航歸檔下拉鍊接

我已經爲它的功能,但我不能完全以確保我知道如何寫「和」正確的。

function wp_menu_archive($args) { 


$args = '<select name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;"> 
    <option value=""> echo esc_attr(__('Select Month')); </option> 
    wp_get_archives(array('type' => 'monthly', 'format' => 'option', 'show_post_count' => 1)); 
</select>'; 

return $items . = <li> $args </li> ; 

} 
add_filter('wp_nav_menu_items', 'wp_menu_archive', 52, 2); 

回答

1

你爲什麼要使用$args,然後再返回空$items

變化$args$items

function wp_menu_archive($items) { 

$archives = '<select name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;"> 
    <option value=""> ' . esc_attr(__('Select Month')) . ' </option> ' ; 

    $archives .= wp_get_archives(array('type' => 'monthly', 
    'format' => 'option', 
    'echo' => 0, 
    'show_post_count' => 1) 
     ); 
$archives .= '</select>'; 

return $items .= $archives ; 

} 
add_filter('wp_nav_menu_items', 'wp_menu_archive', 52, 2); 

我不記得現在完全輸出,但這應該工作。

(也是所有的拼接語法錯了..)

編輯

好吧,我很抱歉,現在檢查的代碼,你需要在wp_get_archives()這是一個'echo' => 0,更多的說法。我更新了代碼。 (我們需要return,不是直接echo

+0

謝謝你的幫助,但它似乎是它在該代碼中的語法錯誤。我認爲它在最後3行。 (首先,我認爲它是'show_post_count'=> 1,應該是'show_post_count'=>'1',但是dident的幫助。 –

+0

我很抱歉,我現在沒有訪問服務器,也沒有來源。 '.'和'='最後兩行的功能:-) –

+0

工程就像一個魅力!非常感謝! –