在帖子上单击“更新”与以编程方式创建帖子有何不同?

gre*_*let 6 wordpress

希望得到一些建议。

我正在以编程方式从 JSON 提要向 wordpress 中插入大量帖子。wp_insert_post 函数工作出色,帖子被创建,以及正确填充的高级自定义字段元数据。

我们有一个奇怪的问题,直到我们在单个帖子上手动单击“更新”之前,使用 JSON API 插件无法使用自定义字段。

我已经尝试通过批量编辑器更新所有内容,以及wp_update_post在 JSON 导入后调用。就好像在单个帖子上单击“更新”的行为以不同的方式保存帖子。

谁能建议为什么会这样?任何建议或指向正确的方向将不胜感激!


编辑:我们用来更新我们的帖子元的代码......

function __update_post_meta( $post_id, $field_name, $value = '' ) {
        if ( empty( $value ) OR ! $value )
        {
                delete_post_meta( $post_id, $field_name );
        }
        elseif ( ! get_post_meta( $post_id, $field_name ) )
        {
                add_post_meta( $post_id, $field_name, $value );
        }
        else
        {
                update_post_meta( $post_id, $field_name, $value );
        }
}
Run Code Online (Sandbox Code Playgroud)

gre*_*let 1

所以我们解决了我们遇到的特定问题。

当使用 ACF 字段以编程方式创建帖子时,帖子的标记方式与标准帖子元的方式不同。阅读此处了解更多信息!

手动更新帖子会创建必要的“别名”。在那之前,如果您想获取信息,您需要引用 ACF 的初始“fieldXXXXXXXX”后元键。