“Hızlı düzenlemeyi” yalnızca function.php içindeki yönetici olmayanlar için devre dışı bırak


11

Bunu benim işlevlerimde var. 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);

yayınlanan yayınlar listesini kaydırırken arka uçtaki hızlı düzenleme bağlantısını kaldırmak için.

Bir cazibe gibi çalışır, ancak yönetici rolü için bile devre dışı bırakır. Geri kalanı için diabing yaparken sadece yönetici için gösterilmesini sağlamak mümkün mü? Teşekkürler!

Jfacemyer sayesinde ÇÖZÜLDÜ! Function.php dosyasına eklenecek kodun tamamıdır.

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

Kullanıcı Rol Editörü eklentisinin bunu yapmanıza izin vereceğine inanıyorum. Yanılıyorsam beni kafamda yumruklamaktan çekinmeyin.
Jared Steffen

Kullanıcı rolü eklentisi sitemi kararsız hale getirdi, bu yüzden onu devre dışı bırakmam gerekiyordu ve işlevlerimde ihtiyacım olan tüm küçük kod parçalarını ekledim. Ne yazık ki sadece olmayan yöneticiler için hızlı düzenleme kaldırma eksik ...
user27309

Lütfen dikkatli olun: ana hatlarıyla belirttiğiniz çözüm, toplu işlemlerden "düzenle" yi kaldırmaz. Bunu yapmak için, bu kod snippet'ini eklemelisinizadd_filter( 'bulk_actions-edit-post', 'remove_from_bulk_actions' ); function remove_from_bulk_actions( $actions ){ unset( $actions[ 'edit' ] ); return $actions; }
Marco Panichi

Yanıtlar:


9

Aramayı current_user_cankaydırmak için kullanın add_filter:

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

manage_optionsbir Yönetici özelliğidir. Mevcut kullanıcı bunu yapabilirse, bir yöneticidir (vanilya WP kurulumunda).

Görmek:

http://codex.wordpress.org/Roles_and_Capabilities

ve

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


Burada özellikle belirtilmemiştir, ancak hierarchicalyazı türleri için şunları kullanmalısınız: page_row_actionsbkz. Core.trac.wordpress.org/browser/tags/5.2.2/src/wp-admin/…
farinspace

8

Hızlı Düzenleme seçeneğini Sayfalardan da kaldırmak istiyorsanız kod aşağıdadır:

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

En azından WP 4.3.1'de rol adını kullanmak mümkündür current_user_can(). Kod şimdi şöyle görünebilir:

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

Daha temiz ve daha sezgisel.


0

Bunu function.php dosyasına ekleyin

add_action('admin_head', 'wc_my_custom_css');
function wc_my_custom_css() {
     echo '<style>
               .hide-if-no-js {
                  display:none !important;
               }
          </style>';
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.