[Résolu] Shortcode s’affiche avant texte page ! (Créer un compte)

  • WordPress :4.6.1
  • Statut : résolu
7 sujets de 1 à 7 (sur un total de 7)
  • Auteur
    Messages
  • #1608467
    gillespa
    Participant
    Initié WordPress
    7 contributions

    Bonjour,

    J’ai réalisé un shortcode qui affiche les 5 dernieres articles

    Je l’insere dans une page au milieu d’un texte : Le résultat du shortcode s’affiche en début de page avant le texte qui devrait etre en 1er !

    Je ne comprends pas ce comportement. Que faut il ajouter pour que le résultat s’affiche au bon endroit par rapport au texte de ma page ?

    Merci de votre aide

     

    Voici ce qu’il y a dans ma page :

    <hr />

    <h1><span style= »color: #ff9900; »>TITRE PAGE</span></h1>
    <div>

    [zero_recent_articles numberposts=3]
    <h1>Liste des jeux jouables en solo</h1>
    Voici les derniers articles publiés sur le blog :
    [/zero_recent_articles]

    </div>
    ——

    et ce que donne l’appercu :

    <hr />

    <h1>Liste des jeux jouables en solo</h1>
    Voici les derniers articles publiés sur le blog :

    <h1>TITRE PAGE</h1>
    ————————–

    Ma configuration WP actuelle 4.3.6

    • Version de PHP/MySQL :
    • Thème utilisé : Smartline Lite
    • Extensions en place : Aucune
    • Nom de l’hébergeur : local
    • Adresse du site :

    Problème(s) rencontré(s) : Affichage resultat shortcode

     

    #1608472
    doogie1
    Participant
    Padawan WordPress
    91 contributions

    Bonjour,

    en effet c’est bizarre…

    est ce que tu peux mettre le code de ton shortcode afin d’essayer de recréer le bug sur mon installation wordpress en local ?

    peut être un problème de copiez/collez ?? ça arrive même aux meilleurs 🙂 !

    #1608499
    artenis
    Participant
    Chevalier WordPress
    224 contributions

    Bonjour,

    Voici ce que j’ai trouvé sur la toile solution

    ob_start();	
    au début de la fonction du shortcode

    return ob_get_clean();
    à la fin

    et référencer dans le codex : (ctrl+f ou cmd+f et taper « Output ») pour arriver au paragraphe qui traite de cela.

    Je n’ai jamais essayé, je ne sais donc pas si ça résoudra le problème.

    Ce problème de shortcode arrive souvent sur des thèmes personnels, par contre sur des thèmes commerciaux je n’ai jamais rencontré ce problème !

    #1608500
    PhiLyon
    Modérateur
    Maître WordPress
    28260 contributions

    Bonjour.

    Ce qui serait pas mal c’est de mettre WordPress à jour ainsi que le PHP.

    🙂

    #1608572
    gillespa
    Participant
    Initié WordPress
    7 contributions

    Bonjour

    Merci pour vos reponses :

    Je viens de mettre a jour WP (4.7) mais même comportement

    Voici le code de mon shortcode :

    ————————————

     

    public function __construct()
    {
    add_shortcode(‘zero_recent_articles’, array($this, ‘recent_html’));
    }

    public function recent_html($atts, $content)
    {
    $atts = shortcode_atts(array(‘numberposts’ => 5, ‘order’ => ‘DESC’), $atts);
    $posts = get_posts($atts);

    $html = array();
    $html[] = $content;
    $html[] = ‘<h2>

    </h2>’;

    echo implode( », $html);
    }

    #1608576
    gillespa
    Participant
    Initié WordPress
    7 contributions

    Bonjour

     

    Je viens de comprendre : j’utilisais un echo dans ma fonction ce qui n’est pas bon.

    Il faut absolument utiliser le return

    Sans doute erreur de débutant

    Merci de vos reponses qui m’ont permis d’avancer

     

     

    #1608581
    PhiLyon
    Modérateur
    Maître WordPress
    28260 contributions

    Si c’est bon pour toi, il faut passer le sujet en « Résolu » en haut à gauche de cette page.

    🙂

7 sujets de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.