web-dev-qa-db-fra.com

Envelopper les Shortcodes et wpautop

WP me tire les cheveux pour le moment (essayant de résoudre ces derniers jours).

Essayer de faire quelques codes courts simples qui englobent différents points d’un article. Cependant, je pense que wpautop () fait des ravages. J'ai essayé diverses suggestions trouvées sur le réseau, y compris viperbonds ( http://www.viper007bond.com/2009/11/22/wordpress-code-earlier-shortcodes/ ) pour contrôler le moment où les codes courts sont exécutés, mais je continue d’obtenir divers inconvénients si le code court s’exécute avant ou après wpautop. Il ne formate que le shortcode sans tache avec wpautop complètement désactivé, mais le reste de l'article n'est pas formaté.

J'ai un shortcode [REVIEW_SUMMARY] Le texte de la conclusion ici ... écrit par editor [/ REVIEW_SUMMARY] en termes simples, il construit un ensemble cohérent spécifique de titres et à partir de diverses méta-données personnalisées, construit des scores, des images, etc. pour la plupart.

Le problème est une tuile de scoring que nous avons qui sort dans le contenu final de ce shortcode:

<div class="tile-score"><div><span>9.9</span><small>Out of 10</small></div><b>Our score</b></div>

Exemple de sortie complète (extrait un peu car trop long) de shortcode avec wpautop désactivé:

<section><h1>Summary</h1>
<div id="score_review_container" class="clearfix"><a href="#" class="score-review-image"><img src="#" width="99" height="180" alt="#" /></a><div class="score-review-meta"><h2><a href="#">Item Reviewed</a></h2><div class="tile-score"><div><span class="ft-arb">9.9</span><small>Out of 10</small></div><b>Our score</b></div></div></div>Paragraph1...

Paragraph2...

Paragraph3...

Paragraph4...</section>        

Il n’ya certainement pas de sauts de ligne, etc. que WP devrait formater (à part ce que vous attendez du paragraphe.

Cependant, le fait de tourner wpautop dessus génère (exécuté avant wpautop ()):

<div class="tile-score">
<div><span>9.9</span><small>Out of 10</small></div>
<p><b>Our score</b></div>

La version complète (dépouillée un peu) du code généré et exécutée avant l'exécution de wpautop ():

<section>
  <h1>Summary</h1>
  <div id="score_review_container" class="clearfix">
    <a href="#" class="score-review-image">
      <img src="#" width="99" height="180" alt="#" />
    </a>
    <div class="score-review-meta">
      <h2><a href="#">Item Reviewed</a></h2>
      <div class="tile-score">
        <div><span class="ft-arb">9.9</span><small>Out of 10</small></div>
        <p><b>Our score</b>
      </div>
    </div>
   </div>
   <p>Paragraph1</p>
   <p>Paragraph2</p>
   <p>Paragraph3</p>
   <p>Paragraph4/p>
  </div>
</section>

VEUILLEZ NOTER: alors fin du Para4

est en fait comme ça. Il manque le crochet <et l'inséré

avant notre score.

À aucun moment, il ne devrait y avoir de saut de ligne que je n’ai pas dit et il ne devrait pas y avoir d’ouverture

tag pour ne pas mentionner qu'il ne le ferme pas et le tag p p.

La version complète (supprimée) a été exécutée APRES wpautop ()

<section>
  <h1>Summary</h1>
  <div id="score_review_container" class="clearfix">
    <a href="#" class="score-review-image">
      <img src="#" width="99" height="180" alt="#" />
    </a>
    <div class="score-review-meta">
      <h2><a href="#">Item Reviewed</a></h2>
      <div class="tile-score">
        <div><span class="ft-arb">9.9</span><small>Out of 10</small></div><b>Our score</b></div></div></div>Para1...</p><p>Para2...</p><p>Para3...</p><p>Para4...</section>

Je suis absolument perplexe sur ce qui génère les ordures. L'exemple ci-dessus est un exemple exécuté avant wpautop () qui conserve tous les paragraphes sur le reste du contenu dans le shortcode dans tack.

1
Jimbo

Je suppose que la solution à ce problème consiste à envelopper le contenu dans les balises <p> comme un hack pour le contourner. Semble le seul moyen comme WP ne le détectera pas correctement.

0
Jimbo