問題描述

我在我的 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') ) {
} else {
add_filter('post_row_actions','remove_quick_edit',10,1);
}

最佳解決方案

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

次佳解決方案

如果您也希望從頁面中刪除快速編輯選項,那麼程式碼如下:

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

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。