Astuce enregistrer une miniature de publication par défaut

Ce tutoriel montrera comment créer une miniature de publication par défaut à partir du noyau. De nombreux tutoriels montrent comment vérifier si une vignette existe dans une publication, puis en rendre une si aucune vignette n'existe. Ce tutoriel va vous montrer comment éviter de sauvegarder un article sans vignette, en premier lieu.


Manière habituelle d'obtenir la vignette par défaut

Comme mentionné précédemment, certains tutoriels suggèrent de créer un Sinon déclaration dans le thème pour afficher une vignette par défaut. Un exemple est comme suit:

 if (has_post_thumbnail ()) the_post_thumbnail ();  else echo 'la vignette'; 

Cette simple déclaration fonctionnera, mais elle nécessiterait la modification de plug-ins tiers ne disposant pas de fonctionnalités de vignettes par défaut. C'est pourquoi, ce tutoriel va enregistrer une vignette par défaut dans la base de données.


Étape 1 Obtenir l'identifiant de la vignette

La première chose à faire est de récupérer l'ID de la vignette téléchargée que vous utiliserez. Pour ce faire, visitez la médiathèque, sélectionnez votre image et collectez l’ID..

Dans la capture d’écran, on recueille l’entier de l’identifiant de la barre d’adresses où "attachment_id =".


Étape 2 Coder la fonction

Pour ajouter la fonctionnalité miniature par défaut, vous pouvez ajouter le fragment de code suivant à votre functions.php fichier dans votre dossier de thème.

 add_action ('save_post', 'wptuts_save_thumbnail'); function wptuts_save_thumbnail ($ post_id) // Obtenir la miniature $ post_thumbnail = get_post_meta ($ post_id, $ key = '_thumbnail_id', $ single = true); // Vérifier que la publication n'est pas une révision si (! Wp_is_post_revision ($ post_id)) // Vérifier si la vignette existe si (vide ($ post_thumbnail)) // Ajouter une vignette pour publier update_post_meta ($ post_id, $ meta_key = '_thumbnail_id ', $ meta_value =' 233 '); 

Nous utilisons le save_post crochet pour déclencher notre fonction et obtenir le post récemment ajouté. Une fois que nous référençons le post récemment ajouté, nous utilisons get_post_meta pour obtenir la valeur de la base de données pour l'ID de vignette, où l'ID de publication est le dernier inséré. Ensuite, nous utilisons le wp_is_post_revision fonction pour vérifier si la publication sauvegardée est une révision ou une nouvelle publication. Si le message est une révision, nous annulerons le reste de la fonction. En utilisant un Si déclaration, nous vérifions si des métadonnées existent pour la vignette. S'il n'en existe pas, on utilise le add_post_meta fonction pour ajouter l'ID de la vignette par défaut au dernier message inséré.

Voila! Pendant une sauvegarde sur brouillon, la vignette par défaut sera enregistrée dans la base de données et est maintenant disponible pour une utilisation dans les widgets ou les plug-ins qui utilisent des vignettes. Si vous construisez un thème, vous pouvez utiliser cette méthode et remplacer le $ meta_value avec une image de votre fichier de thème. Code heureux!