添加月度档案菜单和子菜单

时间:2014-05-10 作者:lopezvit

我发布这个问题是因为我试图寻找答案,但找不到。我自己在的帮助下找到了答案this answer我想和所有有同样问题的人分享。

我的目标是创建一个名为“归档”的菜单项,并从中链接每月的帖子归档,当然,它会自动更新并自动翻译成正确的语言(我们有一个由qTranslate支持的三种语言的网页)。

1 个回复
最合适的回答,由SO网友:lopezvit 整理而成

这是我在子主题的“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

结束

相关推荐

How to add taxonomy in menus?

书籍(自定义帖子类型)小说(税)科学(税)历史(税)--书籍体裁(税务)小说(术语)科学(学期)历史(学期)以下哪一项是做这件事的“好方法”?对于前一个(这是我目前在管理菜单中的功能,我为每个功能都提供了“register\\u taxonomy”功能),我无法选择要在菜单中显示的“Tax”。而对于后者,我可以将它们添加到菜单中,只需要一个“register\\u taxonomy”函数。