加载用户角色订阅者的CSS(Wordpress)

时间:2017-05-14 21:55:42

标签: wordpress

我尝试加载样式表是用户角色是订阅者,我做错了什么:

<?php
global $current_user; 
get_currentuserinfo(); 
if ( user_can( $current_user, "subscriber" ) ){ 
echo '<link rel="stylesheet" href="/login/subscriber-style.css">'
} 
?>

这是主题的header.php

1 个答案:

答案 0 :(得分:2)

您正在使用过时的获取当前用户角色的方法。 WordPress 4.5中已弃用get_currentuserinfo()

https://codex.wordpress.org/Function_Reference/get_currentuserinfo

此外,您不应该直接从header.php文件加载CSS,而是需要将其排队。

将以下代码添加到functions.php文件中。

function wpse_load_subscriber_stylesheet() {
    if ( current_user_can( 'subscriber' ) ) {
        wp_enqueue_style( 'login-subscriber-style', home_url( '/login/subscriber-style.css' ) );
    } 
}
add_action( 'wp_enqueue_scripts', 'wpse_load_subscriber_stylesheet' );

这假设您的CSS放在您的网络根目录(https://example.com/login/subscriber-style.css)中。如果它在您的主题文件夹中,则需要get_template_directory_uri() . '/login/subscriber-style.css'

https://developer.wordpress.org/reference/functions/wp_enqueue_style/