web-dev-qa-db-fra.com

Empêcher WordPress de gâcher mon code HTML

Existe-t-il un moyen d'empêcher WP de modifier mon code HTML parfaitement parfait? Lors de la rédaction du contenu d'une page, j'écris une liste en tant que

<ol>
  <li>Paragraph 1 : text

  Some more text</li>
  <li>...</li>
</ol>

puis WP transforme le code HTML en

<ol>
  <li>Paragraph 1 : textSome more text</li>
  <li>...</li>
</ol>

Cela est frustrant car certaines listes sont longues et contiennent quelques-unes de ces configurations HTML.

J'ai essayé de placer les paragraphes dans des balises P, mais ils ont également été supprimés et mis au rebut.

Mettre à jour

La seule solution que j'ai trouvée est ici mais c'est plutôt hacky ... je souhaite que WP ne soit pas si pénible à propos de faire des choses que je ne veux ni ne demande ...

1
Yanick Rochon

Je suppose que vous utilisez l'éditeur de texte ...

L'exemple avec la ligne vide dans votre question serait normalement converti par WP en ceci:

<ol>
<li>Paragraph 1 : text
<p>  Some more text</p></li>
<li>…</li>
</ol>

Wpautop encapsule la 2ème ligne avec l'élément p en raison de la ligne vierge que vous avez créée. Votre exemple de sortie de WP indiquerait que wpautop a été désactivé (par vous ou par un plugin).

Avec wpautop activé, il est assez facile d’ajouter du CSS pour créer l’espace souhaité:

ol li p {
    margin: 1em 0;
}

Il peut être préférable d’ajouter une classe à votre ancien afin que la règle CSS ne s’applique que si vous la nommez explicitement:

<ol class="my-ol-par">
    <li>Paragraph 1 : text
        <p>  Some more text</p></li>
    <li>…</li>
</ol>

Avec le CSS:

ol.my-ol-par li p {
    margin: 1em 0;
}

Si wpautop est désactivé et que vous ne souhaitez pas l'activer, vous pouvez toujours coder en dur vos lignes supplémentaires dans l'élément p et utiliser la même solution CSS.

METTRE À JOUR:

<ol>
    <li>Paragraph 1 : text

        Paragraph 2 : text

        Paragraph 3 : text</li>
    <li>…</li>
</ol>
1
BillK