X

Définir automatiquement l'image mise en avant

Extraits par IsItWP

Parfois, vous n'avez pas d'image mise en avant pour un article et vous souhaitez que la première image de votre article soit utilisée automatiquement comme image mise en avant.

Instructions : Ajoutez le code suivant au fichier functions.php de votre thème WordPress pour définir automatiquement l'image mise en avant de vos articles. Si vous ajoutez une image mise en avant à un article, cela annulera ce code et affichera votre image mise en avant à la place.

function autoset_featured() {
    global $post;
    $already_has_thumb = has_post_thumbnail($post->ID);
        if (!$already_has_thumb)  {
        $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
            if ($attached_image) {
                foreach ($attached_image as $attachment_id => $attachment) {
                    set_post_thumbnail($post->ID, $attachment_id);
                }
            }
        }
}
add_action('the_post', 'autoset_featured');
add_action('save_post', 'autoset_featured');
add_action('draft_to_publish', 'autoset_featured');
add_action('new_to_publish', 'autoset_featured');
add_action('pending_to_publish', 'autoset_featured');
add_action('future_to_publish', 'autoset_featured');

Vous pourriez également aimer supprimer la boîte méta de l’image mise en avant.

Commentaires   Laisser une réponse

  1. Une question, et si j'ai besoin d'exclure certaines pages ? que pourrais-je faire... merci beaucoup

  2. Pourquoi cela ne fonctionne-t-il que lors du téléchargement d'une nouvelle image et pas lors du choix d'une image de la bibliothèque, même si elle n'est utilisée dans aucun autre article ?

    1. Il utilise les pièces jointes, qui obtiendront l'image en fonction de l'image qui est assignée, ou jointe, à l'article.

  3. Merci beaucoup, ça marche à merveille <3

  4. Je ne connais pas le php. J'utilise le thème Astra. Après avoir ajouté ce code, une image aléatoire de l'article est définie comme image mise en avant au lieu de la première image. Pouvez-vous corriger cela ?

  5. Donc, tout d'abord, merci pour ce morceau de code. En tant que photographe, je rencontrais un problème légèrement différent, à savoir que j'avais besoin que la page de pièce jointe ait plus de fonctionnalités. Après avoir configuré la page de pièce jointe pour afficher des miniatures, j'ai modifié votre code pour définir automatiquement la miniature de la page de pièce jointe comme image de pièce jointe. C'était une vraie galère, voici donc le code pour quiconque cherche à faire la même chose.

    function set_attachment_thumbnail() { global $post; if( get_post_type($post) === ‘attachment’) { $attachment_thumb = has_post_thumbnail($post->ID); if( !$attachment_thumb ) { set_post_thumbnail($post->ID, $post->ID ); } } } … identique à ci-dessus avec le nom de la fonction modifié.

    J'espère que cela aidera quelqu'un d'autre. :)

    1. Merci d'avoir partagé votre extrait avec nous, Chris 🙂

  6. Je viens d'essayer d'appliquer ce code – merci de l'avoir partagé – mais je constate d'emblée qu'il ne trouve une image qu'environ 2/3 du temps, et ce n'est pas non plus de manière fiable la première image de la publication. Des idées ?

  7. Lorsque je place le code à la fin de functions.php, il s'affiche en haut de mon site web à la place. Savez-vous pourquoi ou comment corriger cela ?

    1. Il est probable que le code ait été ajouté incorrectement. Je pense que vous devriez consulter notre article sur la manière d'ajouter correctement les extraits de code.

      Vous voudrez peut-être aussi consulter dépannage des erreurs WordPress et correction des erreurs WordPress les plus courantes.

  8. Bonjour,
    cela fonctionne parfaitement pour les articles wordpress mais pas avec les types d'articles personnalisés.
    Avez-vous une idée pour que cela fonctionne sur n'importe quel type d'article personnalisé ?

    Cordialement
    Sebastian

  9. Bonjour

    J'ai essayé ce code sur le thème Extra d'Elegantthemes et il ne fonctionne pas !

Ajouter un commentaire

Nous sommes heureux que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de confidentialité, et tous les liens sont nofollow. N'utilisez PAS de mots-clés dans le champ nom. Ayons une conversation personnelle et significative.

Liste de contrôle de lancement WordPress

La checklist ultime pour lancer un WordPress

Nous avons compilé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi l'eBook gratuit !