这是我在子主题的“functions.php”中输入的自定义代码。重要的是要注意,有很多事情需要改进(比如为每个子菜单创建一个id,并在更改主题时自动获取类),但这是一个“快速而肮脏”的解决方案。如果我有时间改进它,我会发布它。下面是代码:
function create_archives_menu_entry( $item_output = \'\', $item = \'\', $depth = \'\', $args = \'\' ) {
global $post;
if ( $item->type == \'custom\' && $item->object == \'custom\' && $item->attr_title == \'archives\') {
//We eliminate the title since we use it just for selecting the correct entry
$item_output = str_replace(\'title="archives" \' , \'\', $item_output);
$indent = ( $depth ) ? str_repeat( "\\t", $depth ) : \'\';
$indent_sub = ( $depth ) ? str_repeat( "\\t", $depth + 1 ) : \'\';
$item_output .= "\\r\\n$indent<ul class=\\"sub-menu\\">\\r\\n";
$item_output .= wp_get_archives( array( \'type\' => \'monthly\', \'format\' => \'custom\', \'before\' => $indent_sub . \'<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2407 fusion-dropdown-submenu">\', \'after\' => \'</li>\', \'echo\' => 0 ) );
$item_output .= $indent . "</ul>\\r\\n";
}
return $item_output;
}
add_filter( \'walker_nav_menu_start_el\', \'create_archives_menu_entry\', 10, 4 );
要使其正常工作,只需在菜单中添加一个带有title属性的自定义链接:
存档。这是working version
PS:以下是我用来找到解决方案的文档:wp_get_archives