Desativar "edição rápida" apenas para não admin em functions.php

8

Eu tenho isso no meu 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);

para remover o link de edição rápida no back-end ao rolar a lista de postagens publicadas.

Funciona como um encanto, mas é desativado até mesmo para a função de administrador. É possível mantê-lo mostrando apenas para o administrador enquanto ainda faz o resto? Obrigado!

Resolvido graças ao jfacemyer! Este é o código completo para adicionar em 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);
}
    
por user27309 19.03.2013 / 18:59

4 respostas

8

Use current_user_can para agrupar a chamada add_filter :

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

manage_options é um recurso de administrador. Se o usuário atual pode fazê-lo, ele é um administrador (em uma instalação WP vanilla).

Veja:

enlace

e

enlace

    
por jfacemyer 19.03.2013 / 21:07
4

Aqui está o código se você deseja remover a opção Edição rápida das Páginas também:

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);
}
    
por Zeh Ferrari 01.05.2015 / 03:50
0

Inclua isso em sua função.php

add_action('admin_head', 'wc_my_custom_css');
function wc_my_custom_css() {
     echo '<style>
               .hide-if-no-js {
                  display:none !important;
               }
          </style>';
}
    
por mark steve poniente 07.02.2017 / 21:11
0

Pelo menos no WP 4.3.1, é possível usar o nome da função em current_user_can() . Então, o código agora pode ficar assim:

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

Mais limpo e mais intuitivo.

    
por jmarceli 29.10.2015 / 14:10

Tags