WP 4.4升级自定义帖子类型无法添加新的

时间:2015-12-17 作者:Tim Jarvis

我们有一个为客户创建的自定义插件,它只配置一个自定义的帖子类型。

他们今天升级到wp 4.4。现在,自定义帖子类型是唯一不能为其添加新帖子的类型。我可以编辑没有问题的自定义帖子,还可以添加标准帖子和其他使用第三方插件创建的自定义帖子类型。

我已经将插件上传到了一个干净的4.4版本,带有默认主题,但它仍然存在问题。

我的自定义帖子具有“post”功能。登录后,我得到的只是“提交以供审阅”。如果您填写表格并单击“提交以供审阅”按钮,则会收到消息“您不允许编辑此帖子”

这是海关申报单:

$args = array(
    \'labels\' => $labels,
    \'public\' => true,
    \'publicly_queryable\' => true,
    \'show_ui\' => true,
    \'query_var\' => true,
    \'menu_icon\' => plugins_url( \'images/image.png\', __FILE__ ),
    \'rewrite\' => true,
    \'capability_type\' => \'post\',
    \'hierarchical\' => false,
    \'menu_position\' => null,
    \'supports\' => array(\'\')
);

register_post_type( \'new_post_type\' , $args );
我已经仔细检查了DB是否有正确的主键和自动增量。

我甚至尝试创建新用户,并安装了插件来检查角色功能,这些功能看起来都很好。

对如何诊断有什么想法吗?

Update我相信这些能力是正确的。将核心WordPress文件更改为通过查询字符串而不是通过空白的新post对象检索post类型后,将显示正确的信息。

问题似乎是,当您单击主导航WordPress中的add new按钮时,会在DB中创建一个空白帖子,但由于某些原因,这种情况不会持续。因此,我返回了一个post id 0,而不是我应该具有的下一个递增id。

这意味着,当它尝试提取id为0的元信息时,它没有作为“”返回的post类型,因此当它尝试获取“”的功能时,它会失败,并将表单放入最简单的视图“提交以供审阅”。

2 个回复
SO网友:Ron Lester

帖子内容是空的还是空的?我在插入一篇主要使用自定义字段而不使用帖子内容的新帖子时遇到了类似的问题。我已将它们从阵列中排除。这一直到4.3,但4.4给出了“无法更新数据库中的帖子”wp\\U错误对象。添加内容解决了问题。

SO网友:Pmpr

The problem

wordpress中定义了两种功能:

元功能(edit\\u post、read\\u post和delete\\u post)

  • 基本功能meta capabilities 为您的custom post type, 您需要使用map_meta_cap 参数,而使用register_post_type.

    The solution

    <在您的register_post_type, 这个map_meta_cap 有一个null 默认值。将其设置为true 对于post功能所需的功能capabilities 论点如果是这样,map_meta_cap 无法正常工作
  • 相关推荐

    插件放置在/wp-content/plugins内的文件夹中时不保存值

    我得到了WordPRess插件的以下代码,它在每个页面/后期编辑屏幕上添加了两个自定义输入。然后将这些值保存并输出到前端页面的标题中。如果代码位于内部,则可以正常工作。php文件并直接放入“wp内容/插件”。然而,如果我把它放在插件(如“wp-content/plugins/myplugin”)中自己的文件夹中,那么在通过编辑屏幕保存帖子/页面时,输入字段不会保存。此外,它不会向前端页面html标题部分输出任何内容。这似乎是一个被放弃的项目,所以我无法与原始开发人员一起制定解决方案。然而,代码中的某些内容