为用户角色应用自定义CSS

时间:2016-10-31 作者:Rafal

如何为用户角色(包括仪表板和前端)应用自定义CSS?对于我设置的仪表板:

if( current_user_can(\'seller\', \'partner\')) { 
    function admin_style() {
  wp_enqueue_style(\'admin-styles\', get_template_directory_uri().\'/admin.css\');
}
add_action(\'admin_enqueue_scripts\', \'admin_style\');
}
   else {

}
如何修改代码以在前面加载?顺便说一句,Isif( current_user_can(\'seller\', \'partner\')) 检查用户角色是否正确sellerpartner?

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

要在WordPress中将CSS排队,您可以使用:

  • wp_enqueue_scripts 前端操作login_scripts 登录页面的操作admin_scripts管理端的操作,如您所知,要检查用户的角色,您应该获取用户对象并检查角色属性。current_user_can() 功能旨在检查功能,而不是角色。

    因此,要在前端添加基于用户角色的CSS:

    add_action( \'enqueue_scripts\', \'cyb_enqueue_styles\' );
    function cyb_enqueue_styles() {
    
        $user = wp_get_current_user();
        if( ! empty( $user ) && count( array_intersect( [ "seller", "partner" ], (array) $user->roles ) ) ) {
            wp_enqueue_style( \'my-style\', get_template_directory_uri().\'/some-style.css\' );
        }
    
    }