以编程方式插入带有自定义元字段的新WordPress帖子
如何创建并将包含已通过编程填充内容的新帖子插入数据库以编程方式插入带有自定义元字段的新WordPress帖子,wordpress,advanced-custom-fields,Wordpress,Advanced Custom Fields,如何创建并将包含已通过编程填充内容的新帖子插入数据库 假设您有一个ACF组,其中有3个字段,每个字段的类型不同 说明(类型文本) 图像(类型图像) 类别(类型分类法) 准备一个基本职位 $my_post=数组( “帖子标题”=>“我的帖子”, “帖子内容”=>“这是我的帖子。”, “发布状态”=>“发布”, “post_author”=>1 ); 插入帖子并保留创建的帖子id $post\u id=wp\u insert\u post($my\u post); 然后使用post id更新自定
- 说明(类型文本)
- 图像(类型图像)
- 类别(类型分类法)
- 说明(类型文本)
- 图像(类型图像)
- 类别(类型分类法)
可能重复ACF字段没有什么特别之处。它们是简单的元字段……您可以使用标准的WordPress函数来删除对ACF不必要的外部依赖代码>使用字段名(“说明”)或字段键(“字段5629f95fc4108”)对我不起作用。帖子已经创建,但元数据没有更新。我唯一能让它工作的方法就是使用
update\u字段
,这就是为什么我想分享这个小“怎么做”。也许我应该更改标题和答案来解释为什么我建议使用此解决方案?可能重复ACF字段没有任何特殊之处。它们是简单的元字段……您可以使用标准的WordPress函数来删除对ACF不必要的外部依赖代码>使用字段名(“说明”)或字段键(“字段5629f95fc4108”)对我不起作用。帖子已经创建,但元数据没有更新。我唯一能让它工作的方法就是使用update\u字段
,这就是为什么我想分享这个小“怎么做”。也许我应该更改标题和答案来解释为什么我建议使用此解决方案?如果您想为关系字段类型设置一个值,只需使用一个包含post ID的数组,您希望将该关系作为“value”参数,而且您通常可以使用字段名而不是ID,例如:update\u field('related_-exam_sessions',array(10111012),$post_id);如果您想为关系字段类型设置一个值,只需使用一个包含post-id的数组,您希望将该关系作为'value'参数,也可以通常使用字段名而不是id,例如:update_-field('related_-exam_sessions',array(1011011011012),$post_id);
$my_post = array(
'post_title' => 'My post',
'post_content' => 'This is my post.',
'post_status' => 'publish',
'post_author' => 1
);
$post_id = wp_insert_post( $my_post );
// description (text type field)
update_field('field_5629f95fc4108', 'description for post', $post_id);
// image (Image type field)
$image_id = array(1, 2, 3);
update_field('field_5621199730caa', $image_id, $post_id);
// categories (Taxonomy field type)
$categories_ids = array(1, 2, 3);
update_field('field_56211b33d0018', $categories_ids, $post_id);