首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据当前角色加载css文件

如何根据当前角色加载css文件
EN

WordPress Development用户
提问于 2021-07-25 14:20:54
回答 1查看 83关注 0票数 0

我已经创建了一个自定义角色(b2b),并且在“b2b”角色登录或管理员登录时,我试图加载一个b2b文件。我已经尝试了下面的代码,但我无法让它工作。如有任何帮助或建议,将不胜感激。

提前谢谢你。

代码语言:javascript
复制
function testCss() {

$user = wp_get_current_user();

if ( $user->roles[0]=='administrator' || $user->roles[0]=='b2b' ) {


        // Add custom script.
        wp_enqueue_style(
            'jupiterx-child',
            get_stylesheet_directory_uri() . '/assets/css/b2bstyle.css'
        );


}

}

add_action('wp_enqueue_scripts','testCss', 11);
EN

回答 1

WordPress Development用户

发布于 2021-07-25 15:07:33

您的if检查可能会导致php通知,因为没有登录用户就没有角色,在这种情况下,$user->roles[0]将输出notice: array offest (简而言之)。

除此之外,您是否检查了您的控制台网络以查看是否加载了/assets/css/b2bstyle.css,即使您看到状态404,您也在正确的方向上。

除了if检查之外,您的代码似乎是正确的。

我建议你这样做

代码语言:javascript
复制
function testCss () {
    // get user
    $user = wp_get_current_user();
    
    // check if user has the following roles (administrator OR b2b)
    if (in_array('administrator', $user->roles) || in_array('b2b', $user->roles)) {
        wp_enqueue_style('jupiterx-child', get_stylesheet_directory_uri() . '/assets/css/b2bstyle.css');
    }
}
add_action('wp_enqueue_scripts', 'testCss', 11);

如果你检查你的控制台,到网络上看到这样的东西

单击它以显示有关请求的更多信息,在Header -> General下,第一行显示请求url,检查是否正确

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/392423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档