Forcer l’image à la une avant de publier un article sur WordPress
Selon la mise en page du site que l’on développe, on peut vouloir qu’une image à la une soit nécessairement renseignée avant que l’article soit publié. Voici un couple de fonctions vous permettant de mettre en place cette restriction.
A l’enregistrement de l’article (du type spécifié dans le tableau $post_types
), on vérifie qu’une image à la une est renseignée. Ci ce n’est pas le cas, on passe l’état de l’article en brouillon, et on affiche un message d’erreur.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
add_action('save_post', 'kodex_check_thumbnail'); function kodex_check_thumbnail($post_id){ $post_types = array('post', 'custom_post_type'); if(!in_array(get_post_type($post_id), $post_types)) return; if( !has_post_thumbnail($post_id) ){ set_transient("has_post_thumbnail", "no"); remove_action('save_post', 'kodex_check_thumbnail'); wp_update_post(array('ID' => $post_id, 'post_status' => 'draft')); add_action('save_post', 'kodex_check_thumbnail'); } else { delete_transient("has_post_thumbnail"); } } add_action('admin_notices', 'kodex_thumbnail_error'); function kodex_thumbnail_error(){ if( get_transient("has_post_thumbnail") == "no" ){ echo '<div id="message" class="warning"><p> <strong>'.__("Vous devez ajouter une image à la une pour publier ce contenu", 'kodex').'</strong> </p></div>'; delete_transient("has_post_thumbnail"); } } |
Source : Cats Who Code