web-dev-qa-db-fra.com

Comment peut mettre à jour méta personnalisé pour tous les messages

Comment mettre à jour la méta personnalisée (j'aime) pour toutes les publications qui ont cette méta?

Si j'ai utilisé quelque chose comme ça:

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

il est nécessaire d'ajouter l'ID de publication dont j'ai besoin pour mettre à jour sa méta.

2
Yogu

Comment mettre à jour la méta personnalisée (j'aime) pour toutes les publications qui ont cette méta?

Si vous souhaitez mettre à jour toutes les publications qui ont cette méta:

Voir paramètre de champ de renvoi } et paramètres de champ personnalisé pour Wp_Query à 1) récupérer uniquement les publications avec ce meta_key et 2) pour alléger la requête et renvoyer uniquement la variable ids au lieu d'objets complets. Puis passez-les en boucle.

Quelque chose comme ça (non testé):

$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