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

快速编辑功能是 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 默认文章列表操作功能

从上面的代码我们可以看出,这个功能其实就是通过 post_row_actions 这个 Filter 修改了 $actions 这个数组实现的,那么 $actions 这个数组中都包含哪些元素,我们可以禁用的操作都有哪些呢?通过查看 WordPress 的源码,我们找到了下面几个,根据需要用下面数据中的元素替换上面代码中相应的操作名称,即可禁用对用的功能。

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

除了这些,一些插件会添加自定义操作到文章列表中,我们可以搜索 post_row_actions 查看插件添加的自定义操作功能,根据需要进行处理。

类别:WordPress 教程精选

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册