WordPress发布自定义订单不起作用(显示但不保存)

时间:2019-03-30 16:58:26

标签: php wordpress

我目前正在做自己的wordpress主题,因此需要自定义邮购顺序。但是,我可以使用以下代码在wordpress gutenberg编辑器中激活post属性的顺序

add_post_type_support('post','page-attributes');

,但是在保存帖子时不会保存,并且始终重置为0。

我已经尝试禁用所有插件,并使用另一个wordpress主题(和显示的代码)和另一个普通的wordpress博客检查了错误,但似乎没有保存我的订单集。

我还检查了数据库中的帖子,并且“ menu_order”设置为0。当手动将其更改为5或其他数字时,我可以将此参数用于自定义订单,但是gutenberg编辑器仍然显示0作为帖子属性顺序。

任何想法我做错了还是这是一个wordpress错误。有机会解决这个问题吗?页面的order属性似乎可以在gutenberg编辑器中使用。

1 个答案:

答案 0 :(得分:1)

借助Gutenberg,WordPress正在使用REST API来处理数据。因此,您需要使用两个过滤器来保存该字段,然后在管理员中显示结果。这两个过滤器是:rest_pre_insert_postrest_prepare_post

这是因为WordPress具有硬编码的默认帖子的架构,您可以在/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php @第1997行中看到。默认帖子的架构不包含page-attributes。这是我针对一个正在进行的项目想出的解决方法:https://gist.github.com/jesgs/e619bfbfe10ad998d8a61ac41cc958a7