如何为多个指定ID批量添加相同的post meta键值对?
批量添加Post Meta的实现方法
你可以把需要设置相同自定义字段的文章ID存入数组,遍历数组逐个执行update_post_meta即可,具体代码如下:
// 替换为你实际需要处理的所有文章ID $target_post_ids = [ 3100, 3101, 3102, 3106 ]; $custom_meta_key = 'mymetakey'; $custom_meta_value = 'mymetavalue'; foreach ( $target_post_ids as $post_id ) { update_post_meta( $post_id, $custom_meta_key, $custom_meta_value ); }
如果你需要避免无效ID执行报错,可以增加文章存在性校验,调整后代码如下:
$target_post_ids = [ 3100, 3101, 3102, 3106 ]; $custom_meta_key = 'mymetakey'; $custom_meta_value = 'mymetavalue'; foreach ( $target_post_ids as $post_id ) { // 仅当文章真实存在时执行meta更新操作 if ( get_post( $post_id ) ) { update_post_meta( $post_id, $custom_meta_key, $custom_meta_value ); } }
- 以上代码执行后,所有指定ID的文章都会新增/更新对应key和value的自定义字段,已有同key的旧值会被覆盖
- 如果需要保留同key的旧值、新增一条meta记录,可以把
update_post_meta替换为add_post_meta
内容的提问来源于stack exchange,提问作者user11566218
相关产品推荐
相关产品推荐

