• 注册
  • 广告位预留

    wordpress二次开发 wordpress二次开发 关注:1 内容:10

    移除 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 查看插件添加的自定义操作功能,根据需要进行处理。

      请登录之后再进行评论

      登录
    • 实时动态
    • 偏好设置
    • 返回顶部
    • 帖子间隔 侧栏位置: