我试图为我的wordpress网站添加一个下拉存档菜单。 我一直在尝试遵循wordpress codex,我可以让它工作,但我不知道如何在我的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 );
答案 0 :(得分: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
的确切输出,但这应该有效。
(还有你所有的连接语法都错了..)
修改强>
好的,很抱歉,现在检查代码,您需要在wp_get_archives()
中再添加一个'echo' => 0,
的参数。我更新了代码。 (我们需要return
,而不是直接echo
)