Custom css author role

时间:2015-12-19 作者:Arnolddew

我需要一个代码片段来加载css(额外的样式表?)当作者登录时。这是用于自定义仪表板和张贴“页面”。

enter image description here

截图就是我所说的贴子页面。我想通过css隐藏stuf,只针对作者。红色圆圈内的东西是我想隐藏的东西。

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

如果用户未登录,则admin_head 可能不会跑了。让我们看看他们的capabilities.

function my_custom_admin_head() {
    if ( ! current_user_can( \'have-fun\' )) :
    ?><style>
        #welcome-panel{display: none !important;}
        #wp-content-editor-tools{display: none !important;}
    </style>
    <?php endif; // cant\' have-fun
}
add_action( \'admin_head\', \'my_custom_admin_head\' );

SO网友:Omar Tariq

改变$url 根据您的要求。在当前状态下$url 指向样式表的链接custom-style.css 位于当前活动主题的子目录中admin. 我测试了这段代码,它运行得很好。享受:-)

/**
 * This function registers and enqueues styles on front-end if
 * logged-in user has a role \'author\'.
 */
function customStylesheetForAuthorsOnly() {

    /* Unique slug for the specific resource. */
    $handle = \'unique-css-stylesheet-handle\';

    /* URL of the stylesheet (resource). */
    $url = get_template_directory_uri() . \'/admin/custom-style.css\';

    /* Array containing the handles of all the dependencies. */
    $dependencies = array();

    wp_register_style($handle, $url, $dependencies);

    global $current_user;
    get_currentuserinfo();

    /* Check if current user has \'author\' in his roles */
    if(in_array(\'author\', $current_user->roles) === true) {
        wp_enqueue_style($handle);
    }

}
add_action(\'admin_enqueue_scripts\', \'customStylesheetForAuthorsOnly\');

SO网友:Alexey

获取当前用户ID并将其与后作者ID进行比较。如果它们相等,则加载额外的样式表。

要获取当前用户ID,请使用$user_ID = get_current_user_id();

要获取post-author ID,请使用$author_ID = get_the_author();

加载样式表的最佳实践是使用wp_enqueue_style() 作用

相关推荐

在带有PHP的子主题中包含style.css

在里面https://codex.wordpress.org/Child_Themes 这是包含样式的最佳实践。css在子主题中,必须将下面的代码放入函数中。php的子主题,但将“父样式”替换为可以在函数中找到的父主题的参数。父主题的php。我在我的主题文件中找不到它,那里也没有多少代码。使用@import包含父主题样式表的方法不适用于我,放入文件的css不会在任何浏览器的站点上显示自己。function my_theme_enqueue_styles() { $parent_s