web-dev-qa-db-fra.com

Image sélectionnée lien vers le permalien

J'utilise ceci pour afficher l'image sélectionnée pour chaque message. Si le message ne comporte pas d'image en vedette, une image générique sera affichée:

<?php
if ( has_post_thumbnail() ) {
    echo '<a href="' . get_permalink($post->ID) . '" >';
    the_post_thumbnail();
    echo '</a>';
} else {
    echo '<img src="<?php bloginfo('template_directory'); ?>/img/fallback-featured-image.jpg" />';
}

Comment puis-je faire en sorte que l'image de repliement soit liée au lien permanent?

1
Arete

J'ai mis à jour votre code afin que l'image de repli ait un lien permanent J'espère que ça aide:

if ( has_post_thumbnail() ) {
   echo '<a href="' . get_permalink($post->ID) . '" >';
   the_post_thumbnail();
   echo '</a>';
} else {
        echo '<a href="' . get_permalink($post->ID) . '" ><img src="'. get_stylesheet_directory_uri() . '/img/fallback-featured-image.jpg" /></a>';
}
3
Prasad Nevase

Le problème est lorsque vous essayez d’obtenir le répertoire du modèle. Vous êtes getting au lieu de printing

bloginfo() imprime la sortie

get_bloginfo() récupère la sortie

Ainsi, le code Nice devrait ressembler à ceci:

<?php

if ( has_post_thumbnail() ) {
    echo '<a href="' . get_permalink($post->ID) . '" >';
    the_post_thumbnail();
    echo '</a>';
} else {
    echo '<img src="';
    echo get_bloginfo('template_directory');
    echo '/img/fallback-featured-image.jpg" />';
}
1
Max Yudin