web-dev-qa-db-ja.com

すべての投稿のカスタムメタを更新する方法

このメタを持つすべての投稿のカスタムメタ(いいね)を更新するにはどうすればよいですか?

私はこのようなものを使用した場合:

update_post_meta( $post_id, "likes", 1 );

メタを更新するために必要な投稿IDを追加する必要があります。

2
Yogu

このメタを持つすべての投稿のカスタムメタ(いいね)を更新するにはどうすればよいですか?

このメタを持つすべての投稿を更新したい場合:

Wp_Queryで1)そのmeta_keyを持つ投稿のみを取得するため、および2)クエリを軽量化し、完全なオブジェクトではなくidsのみを返すために、 戻りフィールドパラメータ および カスタムフィールドパラメータ を参照してください。それからそれらをループします。

このようなもの(未テスト):

$args = array( 'fields'          => 'ids', 
               'posts_per_page'  => -1, 
               'post_type'       => 'posts', 
               'meta_key'        => 'likes' 
               );
$all_ids = new WP_Query( $args );

foreach( $all_ids as $ai ) {

   update_post_meta( $ai->post->ID, 'likes', 1 );
}
wp_reset_postdata();
2
hwl