Snelle tip een standaard postminiatuur opslaan

Deze zelfstudie laat zien hoe je een standaard berichtminiatuur vanuit de kern kunt maken. Veel zelfstudies laten zien hoe u kunt controleren of een miniatuur in een bericht bestaat en vervolgens een miniatuur weergeven als er geen miniatuur bestaat. Deze zelfstudie laat u zien hoe u kunt voorkomen dat u een bericht zonder een thumbnail opslaat.


Gebruikelijke manier om standaardminiatuur te krijgen

Zoals eerder vermeld, suggereren sommige tutorials het maken van een Als ... Anders verklaring in het thema om een ​​standaardminiatuur te tonen. Een voorbeeld is als volgt:

 if (has_post_thumbnail ()) the_post_thumbnail ();  else echo 'thumbnail'; 

Die eenvoudige instructie werkt, maar daarvoor moeten plug-ins van derden worden gewijzigd die geen standaardminiatuurfuncties hebben. Daarom zal deze tutorial een standaardminiatuur opslaan in de database.


Stap 1 De miniatuur-ID ophalen

Het eerste dat u hoeft te doen is de ID van de geüploade thumbnail die u gaat gebruiken op te halen. U doet dit door de Mediabibliotheek te bezoeken, uw afbeelding te selecteren en de ID te verzamelen.

In de schermafbeelding verzamelt men het gehele ID-getal uit de adresbalk waar "attachment_id =".


Stap 2 Codering van de functie

Om de standaardminiatuurfunctie toe te voegen, kunt u het volgende fragment aan uw toevoegen functions.php bestand in uw themamap.

 add_action ('save_post', 'wptuts_save_thumbnail'); functie wptuts_save_thumbnail ($ post_id) // Get Thumbnail $ post_thumbnail = get_post_meta ($ post_id, $ key = '_thumbnail_id', $ single = true); // Controleer of het bericht geen revisie is als (! Wp_is_post_revision ($ post_id)) // Controleer of er een miniatuur bestaat als (leeg ($ post_thumbnail)) // Voeg een miniatuur toe om te plaatsen update_post_meta ($ post_id, $ meta_key = '_thumbnail_id ', $ meta_value =' 233 '); 

Wij gebruiken de save_post haak om onze functie te activeren en de recent toegevoegde post te krijgen. Zodra we refereren aan de recent toegevoegde post, gebruiken we get_post_meta om de waarde uit de database te verkrijgen voor miniatuur-ID waarbij de post-ID als laatste is ingevoegd. Vervolgens gebruiken we de wp_is_post_revision functie om te controleren of het opgeslagen bericht een revisie of een nieuw bericht is. Als het bericht een revisie is, dan maken we de rest van de functie ongeldig. Gebruik een Als verklaring controleren we om te zien of er metagegevens voor de miniatuur bestaan. Als er geen bestaat, gebruiken we de add_post_meta functie om de ID van de standaardminiatuur toe te voegen aan de laatst ingevoegde post.

Voila! Tijdens opslaan in concept opslaan wordt de standaardminiatuur opgeslagen in de database en is nu beschikbaar voor gebruik in Widgets of Plug-ins die miniaturen gebruiken. Als u een thema aan het bouwen bent, kunt u deze methode gebruiken en de $ meta_value met een afbeelding uit je themabestand. Happy Coding!