设置子菜单的角色例外

时间:2017-03-04 作者:begginer

我对PHP是相当陌生的,对我来说太简单了。因此,我在backoffice设置中有一个子菜单,我需要为特定用户授予此子菜单的例外,但我不知道如何做到这一点。这是子菜单:

private function setup() {

        fm_register_submenu_page( \'app-items\', \'options-page\', \'Definições das Apps\', \'Definições das Apps\', \'edit_theme_options\' );
        add_action( \'fm_submenu_app-items\', array( $this, \'submenu_apps_init\' ) );

    }


public function submenu_apps_init() {

            $news_push = new Fieldmanager_TextField( \'Prefixo do push das notícias\', array(
            \'input_type\'  => \'text\',
            \'description\' => \'O prefixo escolhido será utilizado no push das notícias para a app\',
            \'attributes\'  => array(
                \'maxlength\' => 40,
            )
        ));

        $fm = new Fieldmanager_Group( array(
            \'name\'     => \'app-items\',
            \'children\' => array(
                \'news_push\'     => $news_push,
            )
        ) );
        $fm->activate_submenu_page();
    }
我需要为我拥有的特定角色添加一个例外,默认情况下,该角色没有访问此子菜单的权限。

1 个回复
SO网友:David Lee

你可以看到here 角色和功能列表,如果要检查用户是否具有特定角色,可以:

$the_user = wp_get_current_user();//we get the current user
if ( in_array( \'the_name_of_your_role\', (array) $the_user->roles ) ) {
    //the user has the rol, add the submenu here
}
您可以使用current_user_can 如果要检查用户是否具有特定功能,请执行以下操作:

if( current_user_can( \'publish_pages\' ) ){
    //the user has the capability do something here
}

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请