我想从wordpress仪表板中删除类别(编辑/删除)按钮


I want to remove category (edit/delete) buttons from wordpress dashboard

如果你没有明白我的意思,下面是细节:

在wordpress仪表板(wp-admin)的类别部分,如果你将鼠标悬停在一个类别上,在类别下面会出现一些按钮。

这些按钮分别是(编辑、快速编辑和删除)

简单地说,我希望我的用户添加类别,但我不希望他们编辑或删除类别。

所以,我想去掉这些按钮。

我已经在wordpress文件中搜索了,但找不到任何东西:(

有什么帮助吗?

使用CSS技术解决这个问题并不是最好的方法。从WordPress v3.0.0开始,一个新的过滤器钩子可以使用PHP来过滤它们:

<?php
add_action( 'my_taxonomy_row_actions', 'wpse31545522_restrict_edit_delete_in_category', 10, 2 );
function wpse31545522_restrict_edit_delete_in_category($actions, $tag) {
    unset($actions['edit']); // Edit link
    unset($actions['inline hide-if-no-js']); //Inline Edit link
    unset($actions['delete']); // Delete link
    return $actions;
}

如果你只想对某些条件施加限制,你可以在条件语句中包含unset()声明:

<?php
function wpse31545522_restrict_edit_delete_in_category($actions, $tag) {
    if( in_array($tag->slug, array('news', 'notice')) ) {
        unset($actions['edit']); // Edit link
        unset($actions['inline hide-if-no-js']); //Inline Edit link
        unset($actions['delete']); // Delete link
    }
    return $actions;
}

Documentaion

  • Filter Hook: {$taxonomy}_row_actions - WordPress Developer Resource

你可以使用CSS来隐藏这些链接。下面的代码将自定义样式添加到管理区域。

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

您可以使用jQuery实现相同的功能。只需在该页面上调用的js文件中编写您的自定义代码,以便它包含代码来隐藏每个类别显示的3个链接或将您的自定义代码排队到此类别仪表板页面的js文件。