WordPress : Lier l’image en vedette à la publication

Publié par Jean-Michel le

J’ai un site WordPress sur le thème des enfants à l’adresse http://mrme.me/utahcountyhiking, et j’essaie de l’obtenir de sorte que lorsque vous cliquez sur l’image en vedette, il aille à la publication associée. À l’heure actuelle, il va à la page média de l’image en vedette au lieu de la publication.

Ce que j’ai essayé

  • J’ai trouvé comment faire en sorte que le thème enfant charge du JavaScript, mais le JS était exécuté avant que le PHP n’ajoute du contenu à la page, donc je n’ai pas pu changer les choses avec JS.

  • J’ai essayé d’ajouter ces fonctions PHP à mon fichier functions.php de thèmes enfants, mais cela n’a rien changé.

Lire également:  redirection du formulaire de connexion dans wordpress

Modifier : L’image sélectionnée est définie avec la fonction WordPress wp_get_attachment_link() qui renvoie le code HTML contenant une image liée à la page de pièce jointe de l’image.

Le code qui définit l’image sélectionnée est

<?php
    if(get_post_thumbnail_id(get_the_ID())) {
        $besty_featured_image = wp_get_attachment_link( get_post_thumbnail_id(get_the_ID()), 'besty-thumbnail', true ); 
        echo $besty_featured_image;
    }
?>            
    <a href="<?php echo esc_url( get_permalink() ); ?>" class="blog-title"><?php the_title();?></a>

Solution n°1 trouvée

En partant de la réponse de Brad, j’ai pu le réparer en utilisant le code suivant dans le fichier index.html du thème

<div class="post-box article">
  <a href="<?php echo esc_url( get_permalink() ); ?>" class="blog-title">

    <?php the_post_thumbnail( 'post-thumbnail', array( 'alt' => get_the_title() ) ); ?>
    <div class="myTitleClass"><?php echo the_title(); ?></div>

  </a>
</div>

Je me rends compte qu’il aurait été préférable d’utiliser le thème enfant au lieu d’éditer le fichier directement, mais cela fonctionnera assez bien pour le moment.

Lire également:  Wordpress : Personnalisateur de thème - Choisissez où la zone de widget apparaît, pour permettre aux utilisateurs d'organiser les widgets

Solution n°2 trouvée

La personnalisation des thèmes est hors sujet, mais les thèmes par défaut sont exemptés, alors regardons un exemple de la façon dont cela se fait dans Twenty Fifteen.

if ( ! function_exists( 'twentyfifteen_post_thumbnail' ) ) :
function twentyfifteen_post_thumbnail() {
    if ( post_password_required() || is_attachment() || ! has_post_thumbnail() ) {
        return;
    }

    if ( is_singular() ) :
    ?>

    <div class="post-thumbnail">
        <?php the_post_thumbnail(); ?>
    </div><!-- .post-thumbnail -->

    <?php else : ?>

    <a class="post-thumbnail" href="<?php the_permalink(); ?>" aria-hidden="true">
        <?php
            the_post_thumbnail( 'post-thumbnail', array( 'alt' => get_the_title() ) );
        ?>
    </a>

    <?php endif; // End is_singular()
}
endif;

Vous pouvez voir que cette ligne inclut the_permalinket tout est enveloppé dans la <a>balise qui relie la vignette de la publication au permalien de la publication.

<a class="post-thumbnail" href="<?php the_permalink(); ?>" aria-hidden="true">
Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *