Questo tutorial mostrerà come creare una miniatura post predefinita dal nucleo. Molti tutorial dimostrano come verificare se esiste una miniatura in un post e quindi eseguirne il rendering se non esiste alcuna miniatura. Questo tutorial ti mostrerà come evitare di salvare un post senza una miniatura, in primo luogo.
Come accennato in precedenza, alcuni tutorial suggeriscono di creare un Se altro
dichiarazione nel tema per mostrare una miniatura predefinita. Un esempio è il seguente:
if (has_post_thumbnail ()) the_post_thumbnail (); else echo '';
Questa semplice istruzione funzionerà, ma richiederebbe la modifica di plug-in di terze parti che non dispongono di funzionalità di anteprima predefinite. Per questo motivo, questo tutorial salverà una miniatura predefinita nel database.
La prima cosa che devi fare è recuperare l'ID della miniatura caricata che userete. Puoi farlo visitando la Libreria multimediale, selezionando la tua immagine e raccogliendo l'ID.
Nello screenshot, uno raccoglie il numero intero ID dalla barra degli indirizzi dove "attachment_id =
".
Per aggiungere la funzione di anteprima predefinita, puoi aggiungere il seguente frammento al tuo functions.php file nella cartella del tema.
add_action ('save_post', 'wptuts_save_thumbnail'); function wptuts_save_thumbnail ($ post_id) // Get Thumbnail $ post_thumbnail = get_post_meta ($ post_id, $ key = '_thumbnail_id', $ single = true); // Verifica che il post non sia una revisione se (! Wp_is_post_revision ($ post_id)) // Verifica se miniatura esiste se (vuoto ($ post_thumbnail)) // Aggiungi miniatura per postare update_post_meta ($ post_id, $ meta_key = '_thumbnail_id ', $ meta_value =' 233 ');
Noi usiamo il save_post
aggancia per attivare la nostra funzione e ottenere il post aggiunto di recente. Una volta che facciamo riferimento al post aggiunto di recente, usiamo get_post_meta
per ottenere il valore dal database per l'ID della miniatura in cui l'ID del post è l'ultimo inserito. Quindi usiamo il wp_is_post_revision
funzione per verificare se il post salvato è una revisione o un nuovo post. Se il post è una revisione, annulleremo il resto della funzione. Utilizzando un Se
dichiarazione, controlliamo se esistono metadati per la miniatura. Se nessuno esiste, allora usiamo il add_post_meta
funzione per aggiungere l'ID della miniatura di default all'ultimo post inserito.
Ecco! Durante un salvataggio su bozza salvata, la miniatura predefinita verrà salvata nel database ed è ora disponibile per l'uso in Widget o Plugin che utilizzano le anteprime. Se stai creando un tema, puoi utilizzare questo metodo e sostituire il $ meta_value
con un'immagine dal tuo file tema. Felice codifica!