Vô hiệu hóa nhanh chóng Chỉnh sửa trực tiếp chỉ dành cho người không phải là quản trị viên trong hàm.php


11

Tôi có cái này trong hàm.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);

để xóa liên kết chỉnh sửa nhanh trong phần phụ trợ khi cuộn danh sách các bài đăng được xuất bản.

Nó hoạt động như một bùa mê nhưng nó vô hiệu hóa nó ngay cả đối với vai trò quản trị viên. Có thể giữ cho nó chỉ hiển thị cho quản trị viên trong khi vẫn còn băm cho phần còn lại? Cảm ơn!

GIẢI QUYẾT nhờ jfacemyer! Đây là mã đầy đủ để thêm vào hàm.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);
}

Tôi tin rằng plugin User Role Editor sẽ cho phép bạn làm điều này. Hãy đấm vào đầu tôi nếu tôi sai.
Jared Steffen

Plugin vai trò người dùng đã làm cho trang web của tôi không ổn định vì vậy tôi cần phải vô hiệu hóa nó và tôi đã thêm tất cả các đoạn mã nhỏ tôi cần trong hàm.php. Làm cho chúng có sẵn trong trường hợp tôi muốn sao chép dự án này trong tương lai. Thật không may, tôi thiếu phần xóa chỉnh sửa nhanh chỉ dành cho người không phải quản trị viên ...
user27309 20/03/13

Hãy cẩn thận: giải pháp bạn đã phác thảo không xóa "chỉnh sửa" khỏi các hành động hàng loạt được chọn. Để làm điều đó, bạn phải thêm đoạn mã nàyadd_filter( 'bulk_actions-edit-post', 'remove_from_bulk_actions' ); function remove_from_bulk_actions( $actions ){ unset( $actions[ 'edit' ] ); return $actions; }
Marco Panichi

Câu trả lời:


9

Sử dụng current_user_canđể kết thúc add_filtercuộc gọi:

if ( current_user_can('manage_options') ) {
} else {
    add_filter('post_row_actions','remove_quick_edit',10,1);
}

manage_optionslà một khả năng quản trị. Nếu người dùng hiện tại có thể làm điều đó, anh ta là quản trị viên (trên bản cài đặt WP vanilla).

Xem:

http://codex.wordpress.org/Roles_and_Capabilities

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


Nó không được đề cập cụ thể ở đây, nhưng đối với hierarchicalbài loại, bạn nên sử dụng: page_row_actionsthấy core.trac.wordpress.org/browser/tags/5.2.2/src/wp-admin/...
farinspace

8

Đây là mã nếu bạn muốn xóa tùy chọn Chỉnh sửa nhanh khỏi Trang:

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

Ít nhất trong WP 4.3.1 có thể sử dụng tên vai trò trong current_user_can(). Vì vậy, mã bây giờ có thể trông như thế này:

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

Sạch sẽ và trực quan hơn.


0

Bao gồm điều này trong hàm.php của bạn

add_action('admin_head', 'wc_my_custom_css');
function wc_my_custom_css() {
     echo '<style>
               .hide-if-no-js {
                  display:none !important;
               }
          </style>';
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.