Stai cercando un modo per richiedere un'immagine in evidenza prima di poter pubblicare un post? Questo snippet richiederà che tu abbia aggiunto un'immagine in evidenza prima che il tuo post possa essere pubblicato. Se provi a pubblicare un post senza un'immagine in evidenza dopo aver aggiunto questo snippet, riceverai questo messaggio: “Devi selezionare l'Immagine in Evidenza. Il tuo post è stato salvato ma non può essere pubblicato.”
Istruzioni:
Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:
add_action('save_post', 'wpds_check_thumbnail');
add_action('admin_notices', 'wpds_thumbnail_error');
function wpds_check_thumbnail($post_id) {
// change to any custom post type
if(get_post_type($post_id) != 'post')
return;
if ( !has_post_thumbnail( $post_id ) ) {
// set a transient to show the users an admin message
set_transient( "has_post_thumbnail", "no" );
// unhook this function so it doesn't loop infinitely
remove_action('save_post', 'wpds_check_thumbnail');
// update the post set it to draft
wp_update_post(array('ID' => $post_id, 'post_status' => 'draft'));
add_action('save_post', 'wpds_check_thumbnail');
} else {
delete_transient( "has_post_thumbnail" );
}
}
function wpds_thumbnail_error()
{
// check if the transient is set, and display the error message
if ( get_transient( "has_post_thumbnail" ) == "no" ) {
echo "<div id='message' class='error'><p><strong>You must select Featured Image. Your Post is saved but it can not be published.</strong></p></div>";
delete_transient( "has_post_thumbnail" );
}
}
Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come copiare / incollare correttamente snippet di codice in WordPress, in modo da non rompere accidentalmente il tuo sito.
Se ti è piaciuto questo snippet di codice, prendi in considerazione la lettura dei nostri altri articoli sul sito come: I 7 migliori plugin per gallerie WordPress a confronto.
Ciao! Funziona per l'immagine in evidenza di Woocommerce?
possiamo farlo anche per il titolo del post
Potresti essere in grado di verificare se il titolo è stato aggiunto utilizzando la funzione get_the_title().
Questo sta creando troppe bozze automatiche indesiderate nel sistema
Ciao Vishal,
Perché crea bozze automatiche?
Hai risolto questo problema?
Saluti
Grazie
Ciao Kevin. Sto creando un plugin di funzioni personalizzate dove ho aggiunto questo snippet e sembra funzionare bene finché non vado a eliminare una bozza/un post. Non riesco a eliminarlo perché mi dà solo il messaggio “Devi selezionare un'Immagine in Evidenza. Il tuo post è stato salvato ma non può essere pubblicato.” Devo rimuovere il codice per poter eliminare un post.
Ho inserito il codice della funzione (wpds_check_thumbnail) in:
if ( ‘trash’ != get_post_status( $post_id ) ) { //Codice qui }
Ottimo! Questo mi è molto utile al momento. È possibile regolarlo per funzionare solo su un certo tipo di post o categoria?