根据用户的自定义功能隐藏菜单项

时间:2019-05-30 作者:toHo

我需要从菜单中显示一个项目,仅适用于已登录并具有特定自定义功能集的用户。

从主题函数来看是否可行。php还是需要自定义插件?

注意:我已经使用插件根据用户角色显示/隐藏菜单项,但找不到任何自定义功能(用户元值)。

感谢您的时间和帮助!

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

此插件提供过滤器,以按元值管理菜单项:

function custom_menu_item_visibility( $visible, $item ){ 
    if( isset( $item->roles ) ){ 
        $user_id = get_current_user_id(); 
        $user_meta = get_user_meta( $user_id, \'your-meta-key\', true ); 
        if ( /* your condition */ ){ 
            $visible = true; 
        } else { 
            $visible = false; 
        } 
    } 
    return $visible; 
} 
add_filter( \'nav_menu_roles_item_visibility\', \'custom_menu_item_visibility\', 10, 2 ); 

SO网友:Bhupen

要根据用户角色启用菜单项,可以尝试此插件:https://wordpress.org/plugins/nav-menu-roles/

相关推荐

如何解决1145行/wp-includes/capabilities.php中的通知:未定义的偏移量:0

我已经看过这个问题的以前的例子,但根据我从其他人那里看到的情况,我找不到导致这个通知的解决方案。当我添加新帖子时,这会出现在屏幕顶部。1145是:$post = get_post( $args[0] ); 我没有收到任何其他类型的错误,因此我不确定这是在我的代码中导致问题的地方。Any help on this?代码如下://show metabox in post editing page add_action(\'add_meta_boxes\', \'kk_add_metabox\