正在保存wordpress修订版,但无法在revisions.php中访问

时间:2017-04-05 16:16:36

标签: wordpress custom-post-type revision

当我点击修订版旁边的浏览时,会链接到 ... / wp-admin / revision.php?revision = 190 ,我会被重定向到< em> /wp-admin/edit.php

一些事实:

  • 此问题仅适用于自定义帖子类型,而不适用于帖子或页面。
  • 首次注册帖子类型时,
  • 不支持修订,但现在
  • 修订版保存到数据库中,我发现结构中没有异常
  • wp_get_post_revision wp_get_post_revisions 按预期工作
  • 无论我做了多少修订,修订元框都是空的
  • WP_DEBUG设置为true,但我看到没有错误

我搜索了很多,但我只找到了如何激活修订的答案,这不是我遇到的问题。

有没有人经历过这样的事情,我应该如何解决这个问题?

TL; DR:修订无法通过 wp_get_post_revisions

中显示的 /wp-admin/revisions.php 点击来访问

更新

我尝试添加另一个自定义帖子类型,以查看问题是否仍然存在,而帖子类型没有受到其他人操作的各种操作。

添加新的自定义帖子类型时,其他帖子类型(不仅仅是海关)似乎为空(列表中没有帖子)。

即使我删除了functions.php文件中的所有其他挂钩,过滤器和其他代码,这也会持续存在,直到只有这些自定义帖子类型的注册。

TL; DR:注册其他自定义帖子类型会导致所有帖子列表显示为空。

更新2:

只有在注册此新的自定义帖子类型时 public_queryable 设置为true时,才会出现上一次更新中的问题。

将我之前添加的自定义帖子类型的 public_queryable 更改为true不会导致此行为,只会使用此新的自定义帖子类型(我只是添加到疑难解答中)。

1 个答案:

答案 0 :(得分:0)

这些自定义帖子类型(我无法访问的修订版本)已使用自定义功能注册。

我还安装了 Members 插件(https://wordpress.org/plugins/members/)来管理自定义用户角色的这些功能。

-

我进行了以下测试:

// 188 is the ID of a post revision
echo current_user_can( 'read_post', 188 ) ? '1' : '0'; 

// 190 is the ID of a custom post revision
echo current_user_can( 'read_kurs', 190 ) ? '1' : '0'; 

此代码返回&#39; 10&#39;,表示可以编辑帖子,但不能自定义帖子类型。

-

换句话说,似乎我没有访问帖子类型,有点像管理员。我还测试了实际帖子的ID,而不是修订版,它给出了相同的结果。

但是我能够阅读所有帖子,这只是出于某种原因影响了修订。

授予自己阅读&#39; read_kurs&#39; (在成员插件中)解决了这个问题。

我没有这种能力开始的原因是我的这个功能没有出现在编辑功能中,所以有点检查了我仍然无法读取的所有内容。

我不得不添加&#39; read_kurs&#39;在自定义功能下,然后在&#39;全部下查看它(因为它没有出现在自定义帖子类型的功能下)。