移除 WordPress 某些文章类型的快速编辑功能及相关操作链接

在WordPress的文章列表中,存在一个名为快速编辑的功能,此功能允许对文章的标题、别名、分类及标签等属性进行迅速调整。该功能对于内容管理系统(CMS)来说极具实用性。然而,它也被继承到了自定义文章类型中。在某些场景下,如我们设立的用于接收用户咨询信息的“Message”文章类型,此功能可能不必要,甚至可能导致操作困扰。为了仅使客服人员能查看而非编辑这些信息,需要禁用快速编辑功能。以下代码段展示了如何实现这一需求。

禁用特定文章类型的快速编辑功能:

add_filter('post_row_actions', function ($actions = [], $post = null)
{

    // 如果不是我们需要的文章类型,直接返回
    if (!in_array(get_post_type($post), ['message'])) {
        return $actions;
    }

    // 判断文章类型并移除快速编辑链接
    if (isset($actions[ 'inline hide-if-no-js' ])) {
        unset($actions[ 'inline hide-if-no-js' ]);
    }

    // 返回删除了快速编辑操作后的链接数组
    return $actions;

}, 10, 2);

 

在WordPress中,如果当前文章类型非“message”,则直接返回操作列表。针对特定类型“message”的文章,系统将检查并删除快速编辑链接。具体地,如果操作列表包含,该链接将被移除。完成这些步骤后,函数将返回更新后的操作列表。这一功能主要应用于WordPress的默认文章内容管理界面中。

在探讨WordPress的功能实现时,我们注意到一个关键机制:通过`post_row_actions`过滤器修改`$actions`数组来实现特定的功能。要了解`$actions`数组包含的操作及其可禁用项,需查阅WordPress源代码。我们发现以下操作可供禁用,并可根据需求替换代码中的相应操作名称以取消特定功能:

[
    'view',
    'edit',
    'inline hide-if-no-js',
    'delete',
    'trash',
    'untrash',
]

 

查看、编辑、内联(仅在启用JavaScript时显示)、删除、移至回收站、恢复回收站项目。此外,一些插件可能会向文章列表添加自定义操作,通过搜索`post_row_actions`可以识别并处理这些插件定义的自定义操作。

 

支付确认
需要支付
¥10
二维码刷新中