functions.php에서 관리자가 아닌 경우에만 "빠른 편집"을 비활성화하십시오.


11

내 기능에 이것을 가지고 있습니다.

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

User Role Editor 플러그인을 사용하면이 작업을 수행 할 수 있다고 생각합니다. 내가 틀렸다면 머릿속으로 날 펀치 해줘
Jared Steffen

사용자 역할 플러그인이 사이트를 불안정하게 만들었으므로 사이트를 비활성화해야했고 나중에이 프로젝트를 복제하려는 경우 사용할 수 있도록 functions.php에 필요한 모든 작은 코드를 추가했습니다. 불행히도 관리자가 아닌 사용자에 대해서만 빠른 편집 제거 기능이 누락되었습니다.
user27309

주의 사항 : 설명한 솔루션은 대량 작업 선택에서 "편집"을 제거하지 않습니다. 그렇게하기 위해서는이 코드를 추가해야합니다add_filter( 'bulk_actions-edit-post', 'remove_from_bulk_actions' ); function remove_from_bulk_actions( $actions ){ unset( $actions[ 'edit' ] ); return $actions; }
Marco Panichi

답변:


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_actionscore.trac.wordpress.org/browser/tags/5.2.2/src/wp-admin/...
farinspace

8

페이지에서 빠른 편집 옵션을 제거하려는 경우 코드는 다음과 같습니다.

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>';
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.