Partage
  • Partager sur Facebook
  • Partager sur Twitter

afficher le titre du post suivant ou précédent

    28 février 2024 à 18:30:45

    Bonjour,

    j'apprends petit à petit, mais kà, j'ai un bout de code à placer dans un template et j'ai besoin d'un petit coup de main s'il vous plaît.

    J'ai fait ça :

    // Fonction pour afficher les titres des publications sous forme de menu à l'aide d'un shortcode dans les pages-années des publications
    function nav_cpt() {
      ob_start(); // Initialiser le tampon de sortie
      $titre_du_post = get_the_title();
      echo '<div class="nav_cpt_title">';
      echo previous_post_link('%link', $titre_du_post);
      echo get_the_title();
      echo next_post_link('%link', $titre_du_post);
      echo '</div>';
    
      return ob_get_clean(); // Récupérer et nettoyer la sortie du tampon
    }
    // Enregistrez le shortcode pour naviguer vers le CPT précédent
    add_shortcode('nav_year', 'nav_cpt');

    mais le probleme c'est que dans ces lignes là ( echo next_post_link('%link', $titre_du_post);), $titre_du_post c'est le titre du post dans lequel on se trouve.

    Or j'aurais voulu afficher le titre du post précédent ou le titre du post suivant à la place de mettre simplement 'Page précédente' et 'Page suivante'.

    Pouvez-vous m'expliquer comment on fait s'il vous plaît ?

    Caroline

    • Partager sur Facebook
    • Partager sur Twitter
      28 février 2024 à 18:51:31

      Bonjour,

      au vu du code, c'est un Wordpress, je suppose ? Si oui, une réponse peut se trouver là. Ça date un peu, je ne sais pas si c'est encore valide, mais ça se tente.

      • Partager sur Facebook
      • Partager sur Twitter

      Pas d'aide concernant le code par MP, le forum est là pour ça :)

        28 février 2024 à 20:43:07

        Merci pour le lien, je vais lire tout ça.

        En effet, c'est Wordpress, je suis désolée d'avoir oublié de préciser le contexte.

        Et pour être précise, je veux naviguer entre les pages d'un CPT.

        J'ai regardé dans le codex et finalement j'ai trouvé que pour afficher le titre du précédent post ou du suivant, il suffit de ne rien mettre dans la parenthèse, ou de simplement mettre '%link' si l'on ne veut pas des doubles chevrons à côté des liens.

        Maintenant j'ai ça comme code, qui fonctionne bien, avec de quoi faire de la css dessus par la suite :

        // Fonction pour afficher les titres des publications sous forme de menu à l'aide d'un shortcode dans les pages-années des publications
        function nav_cpt() {
          ob_start(); // Initialiser le tampon de sortie
        
          $titre_actif = get_the_title();
        
            echo '<div class="nav_cpt_title"><span class="nav_cpt nav_cpt_prev">';
            echo previous_post_link('%link');
            echo '</span><span class="nav_cpt nav_cpt_activ">' . $titre_actif . '</span><span class="nav_cpt nav_cpt_next">';
            echo next_post_link('%link');
            echo '</span></div>';
        
          return ob_get_clean(); // Récupérer et nettoyer la sortie du tampon
        }
        // Enregistrez le shortcode pour naviguer vers le CPT précédent
        add_shortcode('nav_year', 'nav_cpt');

        Merci

        • Partager sur Facebook
        • Partager sur Twitter
          28 février 2024 à 20:55:59

          Ah, c'est cool ! J'avais lu la doc pour la fonction previous_post_link mais je n'avais pas compris que par défaut elle allait récupérer le titre aussi. Bien joué :)
          • Partager sur Facebook
          • Partager sur Twitter

          Pas d'aide concernant le code par MP, le forum est là pour ça :)

          afficher le titre du post suivant ou précédent

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          • Editeur
          • Markdown