问题描述
我使用函数 wp_insert_post()将一些帖子插入 wordpress 。
我想在每个帖子上插入一些自定义字段,并阅读文档,虽然使用了 meta_info 参数,但我尝试过这样的操作:
$data = array(
'post_author' => 1,
'post_status' => 'publish',
'post_title' => $post->getTitle(),
'post_content' => $post->getContent(),
'post_category' => $post->getCategory(),
'tags_input' => $post->getTags(),
'meta_input' => array( "_test" => "testx1" )
);
$postID = wp_insert_post( $data );
该帖子被正确插入和标记。但是没有添加自定义字段。我知道我可以使用 add_post_meta() 来添加它们,但是我仍然想知道使用 meta_input 参数是什么,因为我在插入该帖子后对数据库进行了”testx1″ 的搜索,找不到任何结果。
最佳解决方案
wp_insert_posts()
的这一部分给了它:
if ( ! empty( $postarr['meta_input'] ) ) {
foreach ( $postarr['meta_input'] as $field => $value ) {
update_post_meta( $post_ID, $field, $value );
}
}
在那里我们看到后期元字段如何更新/添加 update_post_meta()
。
以下是 meta_input
的内联描述:
Array of post meta values keyed by their post meta key. Default empty.
这是添加到 WordPress 4.4 和这里的相关票 #20451 了解更多信息。
请注意,使用元键_test
前面的下划线将在后编辑屏幕中将其隐藏自定义字段 metabox 。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。