导航菜单中的当前作者档案

时间:2015-10-02 作者:Pmpr

我希望登录用户在顶部导航菜单中看到她/他自己的作者存档页面链接,比如(指向她/他的所有帖子列表的链接)。

到目前为止,我取得的成就是:

function my_nav_menu_author_link( $menu )
{
    if( !is_user_logged_in() ){

        return $menu;

    }else{

        $link = get_author_posts_url( get_current_user_id() );

        $author_archive_link = 
        \'<li>\' .
            \'<a href="\' . $link . \'" >\' .
                __( \'My posts\' ) .
            \'</a>\' .
         \'</li>\';

        $menu = $menu . $author_archive_link;

        return $menu;

    }
}

add_filter( \'wp_nav_menu_items\', \'my_nav_menu_author_link\');
它工作正常,但问题是此菜单链接无法获取current_menu_item

如何添加此功能,以便在其处于活动状态时能够对其进行样式设置?

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

最后,我找到了答案,并为任何可能对这种解决方法感兴趣的人发布了解决方案:

function my_nav_menu_author_link( $menu )
{
    if( !is_user_logged_in() ){

        return $menu;

    } else {

        $link = get_author_posts_url( get_current_user_id() );

        $class = is_author() ? \' class="current-menu-item"\' : \'\';

        $author_archive_link = 
        \'<li\' . $class . \'>\' .
             \'<a href="\' . $link . \'" >\' .
                 __( \'My posts\' ) .
             \'</a>\' .
         \'</li>\';

        $menu = $menu . $author_archive_link;

        return $menu;

    }
}

add_filter( \'wp_nav_menu_items\', \'my_nav_menu_author_link\' );

相关推荐

Permalinks - Archives

WordPress文档说:WordPress offers you the ability to create a custom URL structure for your permalinks and archives. https://codex.wordpress.org/Settings_Permalinks_Screen 我看到此屏幕将如何为特定帖子/页面创建永久链接,但我没有看到此设置屏幕上关于如何为存档帖子/页面创建链接的任何其他详细信息。有人能澄清一下吗?