it-swarm.com.de

Wrap Shortcodes und wpautop

In WP habe ich mir gerade die Haare ausgezogen (in den letzten Tagen versucht zu lösen).

Versuche ein paar einfache Shortcodes zu machen, die sich um verschiedene Punkte eines Artikels drehen. Ich glaube jedoch, dass wpautop () Chaos anrichtet. Ich habe verschiedene Vorschläge aus dem Internet ausprobiert, einschließlich ViperBonds ( http://www.viper007bond.com/2009/11/22/wordpress-code-earlier-shortcodes/ ) zur Kontrolle wenn die shortcodes laufen bekomme ich aber trotzdem diverse nerven ob der shortcode vor oder nach wpautop läuft. Es formatiert nur den unbeschmierten Shortcode mit vollständig deaktiviertem wpautop, aber der Rest des Posts wird dann nicht formatiert.

Ich habe einen Shortcode [REVIEW_SUMMARY] Der vom Editor [/ REVIEW_SUMMARY] in einfachen Worten geschriebene Schlussfolgerungstext/-punkt baut eine bestimmte konsistente Reihe von Titeln auf und baut aus verschiedenen benutzerdefinierten Metadaten Bewertungen, Bilder usw. auf. Funktioniert gut hauptsächlich.

Das Problem ist eine Bewertungskachel, die als Teil des endgültigen Inhalts dieses Shortcodes ausgegeben wird:

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

Vollständige Beispielausgabe (ein wenig entfernt, weil sie zu lang ist) von Shortcode mit deaktiviertem 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>Paragraph1...

Paragraph2...

Paragraph3...

Paragraph4...</section>        

Es hat definitiv keine Zeilenumbrüche und so weiter, dass WP formatieren sollte (abgesehen von dem, was Sie von den Absätzen erwarten würden.

Wenn Sie jedoch wpautop aktivieren, wird Folgendes generiert (wurde vor wpautop () ausgeführt):

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

Die Vollversion (ein bisschen entfernt) des generierten Codes wurde ausgeführt, bevor wpautop () ausgeführt wurde:

<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>

BITTE BEACHTEN SIE: dann endet Para4

ist eigentlich so. Es fehlt die Klammer <und die eingelegte

vor unserer Partitur.

Es darf zu keinem Zeitpunkt Zeilenumbrüche geben, die ich nicht angekündigt habe, und es darf keine Unterbrechung geben

tag ganz zu schweigen davon, dass es es nicht schließt und das rogue broken end p tag.

Vollversion (gestrippt) lief NACH 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>

Ich bin absolut ratlos, was den Müll erzeugt. Das Obige ist ein Beispiel, das ausgeführt wurde, bevor wpautop () ausgeführt wurde, wodurch alle Absätze über den Rest des Inhalts innerhalb des Shortcodes in Verbindung bleiben.

1
Jimbo

Dann besteht die Möglichkeit, dies zu beheben, darin, den Inhalt als Hack in <p>-Tags zu packen, um ihn zu umgehen. Scheint der einzige Weg zu sein, wie WP es nicht richtig erkennen wird.

0
Jimbo