仅对functions.php中的非管理员禁用“快速编辑”


11

我的functions.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);

在滚动已发布帖子列表时删除后端中的快速编辑链接。

它像超级按钮一样工作,但即使是管理员角色也将其禁用。是否可以让它仅对管理员显示,而其余部分仍然显示?谢谢!

解决了,感谢jfacemyer! 这是在functions.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);
}

我相信用户角色编辑器插件将使您能够做到这一点。如果我错了,请随意打我的头。
贾里德·斯特芬

用户角色插件使我的网站不稳定,因此我需要禁用它,并在我的functions.php中添加了我需要的所有小代码,以备将来我要复制此项目时使用。不幸的是,我缺少仅针对非管理员的快速编辑删除...
2013年

请注意:您概述的解决方案不会从批量操作选择中删除“编辑”。为此,您必须添加此代码段add_filter( 'bulk_actions-edit-post', 'remove_from_bulk_actions' ); function remove_from_bulk_actions( $actions ){ unset( $actions[ 'edit' ] ); return $actions; }
Marco Panichi '17

Answers:


9

使用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


这里没有特别提及,但是对于hierarchical帖子类型,您应该使用:page_row_actions请参阅core.trac.wordpress.org/browser/tags/5.2.2/src/wp-admin/…–
farinspace

8

如果您也希望从Pages中删除“快速编辑”选项,请参见以下代码:

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);
}

0

至少在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);
}

更干净,更直观。


0

包括在您的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>';
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.