Căutați o modalitate de a solicita o imagine de prezentare înainte de a putea publica o postare? Acest fragment va solicita ca dvs. să fi adăugat o imagine de prezentare înainte ca postarea dvs. să poată fi publicată. Dacă încercați să publicați o postare fără o imagine de prezentare după adăugarea acestui fragment, veți primi acest mesaj: „Trebuie să selectați Imaginea de prezentare. Postarea dvs. este salvată, dar nu poate fi publicată.”
Instrucțiuni:
Tot ce trebuie să faceți este să adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului:
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" );
}
}
Notă: Dacă este prima dată când adăugați secvențe de cod în WordPress, consultați ghidul nostru despre cum să copiați / lipiți corect secvențe de cod în WordPress, pentru a nu vă defecta accidental site-ul.
Dacă v-a plăcut acest fragment de cod, vă rugăm să luați în considerare să consultați celelalte articole de pe site, cum ar fi: 7 cele mai bune plugin-uri de galerie WordPress comparate.
Salut! Funcționează pentru imaginea de prezentare Woocommerce?
Putem face și pentru titlul postării
S-ar putea să puteți verifica dacă titlul a fost adăugat folosind funcția get_the_title().
Acest lucru creează prea multe schițe automate nedorite în sistem
Salut Visal,
De ce creează schițe automate?
Ai rezolvat această problemă?
Cu stimă
Mulțumesc
Hei Kevin. Creez un plugin personalizat de funcții unde am adăugat acest fragment și pare să funcționeze bine până când merg să șterg o schiță/postare. Nu pot șterge, deoarece îmi dă doar mesajul „Trebuie să selectați o imagine de prezentare. Postarea dvs. este salvată, dar nu poate fi publicată.” Trebuie să elimin codul pentru a putea șterge o postare.
Am pus codul funcției (wpds_check_thumbnail) în:
if ( ‘trash’ != get_post_status( $post_id ) ) { //Cod aici }
Excelent! Acest lucru este destul de util pentru mine în acest moment. Se poate ajusta pentru a funcționa doar pe un anumit tip de postare sau categorie?