只有在unctions.php中的非管理员才禁用“快速编辑”

时间:2013-03-19 作者:user27309

我的职能中有这一点。php

function remove_quick_edit( $actions ) {
    unset($actions[\'inline hide-if-no-js\']);
    return $actions;
}
add_filter(\'post_row_actions\',\'remove_quick_edit\',10,1);
滚动已发布帖子列表时,删除后端的快速编辑链接。

它就像一个符咒,但它甚至对管理员角色也会禁用它。有没有可能让它只显示给管理员,而其余的人仍在显示?谢谢

SOLVED thanks to jfacemyer!这是加载项函数的完整代码。php

function remove_quick_edit( $actions ) {
    unset($actions[\'inline hide-if-no-js\']);
    return $actions;
}
if ( ! current_user_can(\'manage_options\') ) {
    add_filter(\'post_row_actions\',\'remove_quick_edit\',10,1);
}

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

使用current_user_can 包装add_filter 电话:

if ( current_user_can(\'manage_options\') ) {
} else {
    add_filter(\'post_row_actions\',\'remove_quick_edit\',10,1);
}
manage_options 是一种管理功能。如果当前用户能够做到这一点,那么他就是管理员(在普通WP安装上)。

请参见:

http://codex.wordpress.org/Roles_and_Capabilities

http://codex.wordpress.org/Function_Reference/current_user_can

SO网友:Zeh Ferrari

如果要从页面中删除“快速编辑”选项,请参阅以下代码:

function remove_quick_edit( $actions ) {
    unset($actions[\'inline hide-if-no-js\']);
    return $actions;
}
if ( !current_user_can(\'manage_options\') ) {
    add_filter(\'page_row_actions\',\'remove_quick_edit\',10,1);
    add_filter(\'post_row_actions\',\'remove_quick_edit\',10,1);
}

SO网友:jmarceli

至少在WP 4.3.1中,可以在中使用角色名称current_user_can(). 因此,代码现在可能如下所示:

function remove_quick_edit( $actions ) {
  unset($actions[\'inline hide-if-no-js\']);
  return $actions;
}
if ( !current_user_can(\'administrator\') ) {
  add_filter(\'post_row_actions\',\'remove_quick_edit\',10,1);
}
更干净、更直观。

SO网友:mark steve poniente

Include this in your function.php

add_action(\'admin_head\', \'wc_my_custom_css\');
function wc_my_custom_css() {
     echo \'<style>
               .hide-if-no-js {
                  display:none !important;
               }
          </style>\';
}
结束

相关推荐