wordpress 管理面板,如何防止用户删除类别?

wordpress admin panel, how to prevent users from deleting categories?

我正在尝试从类别编辑部分中删除、隐藏或禁用“删除”按钮 我试过的代码。没有运气。有什么想法吗?

add_action('admin_head', 'hide_category_buttons');
function hide_category_buttons() {
  echo '<style>
    .taxonomy-category tr:hover .row-actions {
        visibility: hidden;
    }
  </style>';
}

I'm trying to remove, hide or disable "Delete" button out of category editing section Code i've tried. No luck. Any ideas?

下面的代码应该可以满足您的需求:

  • “删除”按钮,隐藏阻止 post 分类 category 及其编辑页面。
  • “删除”按钮,隐藏阻止 post 分类 tags 及其编辑页面。

我还添加了关于用户能力的条件语句。如果用户可以编辑 post,他就不会担心我们的限制。

您可以在https://developer.wordpress.org/reference/functions/current_user_can/

了解更多关于current_user_can()函数的信息

一切都在我这边进行了测试,一切正常。

<?php
add_action( 'init', 'admin_restriction' );
function admin_restriction() {
  if ( is_admin() && strpos( $_SERVER[ 'REQUEST_URI' ], 'edit-tags.php?taxonomy=category' ) || strpos( $_SERVER[ 'REQUEST_URI' ], 'term.php?taxonomy=category' ) || strpos( $_SERVER[ 'REQUEST_URI' ], 'edit-tags.php?taxonomy=post_tag' ) || strpos( $_SERVER[ 'REQUEST_URI' ], 'term.php?taxonomy=post_tag' ) ) {
    if ( ! current_user_can( 'edit_post' ) ) { //Define use capability here
      add_action( 'admin_head', 'admin_scripts' );
      function admin_scripts() {
        echo "<style type='text/css'>
        .delete {
          display: none;
          visibility: hidden; }
        </style>";
        echo "<script type='text/javascript'>
        jQuery( document ).ready( function($) {
          $( '.delete-tag' ).click( false ); } );
        </script>";
      };
    };
  };
}; ?>