web-dev-qa-db-fra.com

Comment ajouter une étiquette à plusieurs messages?

J'ai près de 1500 articles sur mon blog wordpress. Avant de passer à un nouveau design, je dois taguer tous ces articles avec un tag "ancien". Comment puis-je faire ceci? J'ai essayé d'éditer en bloc des articles et il ne restera toujours que 78 articles à chaque fois que j'ai essayé. J'ai essayé d'augmenter les limites du serveur et cela ne fonctionnera toujours pas! Comment puis-je faire ceci?

1
THpubs

Si vous avez la possibilité d'utiliser wp-cli sur un shell bash, c'est un moyen pratique de le faire:

for ID in $(wp post list --post_type=post --post_status=any --field=ID); do wp post term add $ID post_tag old; done
  • for ID in $(…); do lance une boucle pour chaque ligne de sortie de la commande interne
  • wp post list --post_type=post --post_status=any --field=IDrépertorie tous les identifiants de publication. C'est en fait une interface en ligne de commande pour WP_Query.
  • wp post term add $ID post_tag oldassigne le termeold de la taxonomie post_tag à chaque publication de la boucle, identifiée par la variable de boucle $ID. Si le terme n'existe pas, il est créé la première fois.
  • done marque la fin de la boucle
3
David

S'il vous plaît essayer ceci


   global $post;
   $args = array( 'posts_per_page' => -1);
   $myposts = get_posts( $args );
   foreach( $myposts as $post ) : setup_postdata($post); 
        wp_set_post_tags( the_ID(), 'old', true );
   endforeach; 
0
ManuA