Je souhaite ajouter en vrac un champ personnalisé (catégorie) avec une valeur (photographie) à tous les articles d'une catégorie spécifique (photographie, avec la catégorie 5).
J'ai utilisé le code ci-dessous pour ajouter en bloc un champ personnalisé à tous les articles, mais comment puis-je le réduire à une catégorie spécifique? N'importe qui?
C'est le code que j'ai utilisé pour tous les posts:
INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT wp_posts.ID, 'category', 'photography'
FROM wp_posts
WHERE wp_posts.post_status = 'publish'
Vous pouvez utiliser les fonctions WordPress pour faire cela et simplement l'exécuter une fois, un exemple rapide serait.
function wpse_85236_add_photo_field(){
global $post;
$photoquery = new WP_Query('posts_per_page=-1');
while ( $photoquery->have_posts() ) : $photoquery->the_post();
if ( in_category( 'photography' )) {
add_post_meta($post->ID, 'category', 'photography', true);
}
endwhile;
}
add_action( 'init', 'wpse_85236_add_photo_field' );
N'oubliez pas de supprimer la fonction après son exécution car vous ne voulez pas qu'elle s'exécute à chaque chargement.