Sfat rapid Salvarea unei miniaturi implicite pentru postare

Acest tutorial va arăta cum să creați o miniatură implicită postat din miez. Multe tutoriale demonstrează cum să verificați dacă există o miniatură într-o postare și apoi să faceți una dacă nu există miniatură. Acest tutorial vă va arăta cum să evitați salvarea unei postări fără o miniatură, în primul rând.


Modul obișnuit pentru a obține miniaturile implicite

Așa cum am menționat anterior, unele tutoriale sugerează realizarea unui Dacă ... Altfel în temă pentru a afișa o miniatură implicită. Un exemplu este după cum urmează:

 dacă (has_post_thumbnail ()) the_post_thumbnail ();  altceva echo 'miniatură„; 

Această instrucțiune simplă va funcționa, dar ar necesita modificarea pluginurilor terță parte care nu au caracteristici miniatură implicite. Din acest motiv, acest tutorial va salva o miniatură implicită în baza de date.


Pasul 1 Obținerea ID-ului de miniatură

Primul lucru pe care trebuie să-l faci este să aduci ID-ul miniaturii încărcate pe care o vei utiliza. Faceți acest lucru vizitând Biblioteca Media, selectând imaginea și colectând codul de identificare.

În captură de ecran, unul colectează ID-ul întreg din bara de adrese unde "attachment_id =".


Pasul 2 Codificarea funcției

Pentru a adăuga caracteristica miniatură implicită, puteți adăuga fragmentul următor la dvs. functions.php fișier în dosarul tematic.

 add_action ('save_post', 'wptuts_save_thumbnail'); funcția wptuts_save_thumbnail ($ post_id) // Obțineți miniatură $ post_thumbnail = get_post_meta ($ post_id, $ key = '_thumbnail_id', $ single = true); // Verificați dacă postarea nu este o revizuire dacă (! Wp_is_post_revision ($ post_id)) // Verificați dacă miniatură există dacă (gol ($ post_thumbnail)) // Adăugați miniatură pentru a posta update_post_meta ($ post_id, $ meta_key ='thumbnail_id ', $ meta_value =' 233 '); 

Noi folosim save_post cârlig pentru a declanșa funcția noastră și a obține postul recent adăugat. Odată ce facem referire la postul recent adăugat, îl folosim get_post_meta pentru a obține valoarea din baza de date pentru ID miniatură în care ID-ul postului este ultima introdusă. Apoi vom folosi wp_is_post_revision pentru a verifica dacă postul salvat este o revizuire sau un post nou. Dacă postul este o revizuire, atunci vom anula restul funcției. Folosind un Dacă , verificăm dacă există metadate pentru miniatură. Dacă nu există nici unul, atunci vom folosi add_post_meta pentru a adăuga ID-ul miniatural implicit la ultima postare inserată.

Voila! În timpul salvării salvării schiței, miniatura implicită va fi salvată în baza de date și este acum disponibilă pentru utilizare în Widget-uri sau Plugin-uri care utilizează miniaturi. Dacă construiți o temă, puteți utiliza această metodă și înlocuiți-o $ meta_value cu o imagine din fișierul temei. Codificare fericită!

Cod