我已经创建了一个自定义角色(b2b),并且在“b2b”角色登录或管理员登录时,我试图加载一个b2b文件。我已经尝试了下面的代码,但我无法让它工作。如有任何帮助或建议,将不胜感激。
提前谢谢你。
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);发布于 2021-07-25 15:07:33
您的if检查可能会导致php通知,因为没有登录用户就没有角色,在这种情况下,$user->roles[0]将输出notice: array offest (简而言之)。
除此之外,您是否检查了您的控制台网络以查看是否加载了/assets/css/b2bstyle.css,即使您看到状态404,您也在正确的方向上。
除了if检查之外,您的代码似乎是正确的。
我建议你这样做
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,检查是否正确

https://wordpress.stackexchange.com/questions/392423
复制相似问题