Bonjour,

j'ai un grand problème avec wordpress... il a tendance à me rajouter des balises p un peu partout ce qui me casse tout mon css, ça casse même des div que je met dans mes articles...

j'ai essayé plei de solutions avec les remove_filters, de modifier le fichier kses.php mais rien y fait...

quelqu'un aurait une solution qui marche ?

merci
Bonjour,

Vous parlez de la prise en charge Wysiwyg (l'éditeur de texte en ligne) : celui-ci détecte les sauts de lignes dans le champ de saisie. Il ajoute effectivement des balises <p> quand deux lignes sont sautées (interprétation d'un paragraphe) ou une balise <br> pour un seul saut de ligne (interprétation retour à la ligne)...

Mais je ne vois pas en quoi cela peut influer sur votre design. Cette manière de procéder est bien celle que l'on demande à un éditeur en ligne non? Pour le reste (template) il vous faut coder en dur.
Administrateur
On peut désactiver l'insertion automatique de paragraphes en retirant le filtre correspondant (nommé autop)

remove_filter('the_content', 'wpautop');


à placer dans functions.php par exemple
J'ai déjà utilisé remove_filter mais rien n'y fait... mes p réaparaissent toujours...

et ça me casse toujours mes div de mes pages...

est-ce aussi à cause du fait que j'utilise tinyMCE ?
J'ai exactement le même soucis. Si quelqu'un a une idée pour régler ce soucis ...
J'ai fait les mêmes manif et j'ai le même plugin, tout est mis à jour.
Merci d'avance.
Tchii a écrit :
J'ai exactement le même soucis. Si quelqu'un a une idée pour régler ce soucis ...
J'ai fait les mêmes manif et j'ai le même plugin, tout est mis à jour.
Merci d'avance.


Personne n'a de réponse ? Smiley bawling
Voici des filtres à mettre dans votre functions.php :

//empêcher l'éditeur wysiwyg d'ajouter des balises <p> et <br> :
//sur les fichiers 'content'
remove_filter( 'the_content', 'wpautop' );
//sur les fichiers 'exerpt'
remove_filter( 'the_excerpt', 'wpautop' );

//empêche la conversion des certaines entités texte en entités HTML
remove_filter( ‘the_content’, ‘wptexturize’);

Modifié par Olivier C (31 Oct 2013 - 12:11)
Bonjour, même problème...

Je suis en train de me bricoler un plugin pour une mise en page façon portfolio, mais il se passe quelque chose d'étrange avec mon HTML. En effet dans mes fonction j'injecte de l'HTML dans un post :

<div id='profile'>
<ul>
<li>
<a href='#' id='cp_name'>heeey</a>
<p id='cp_localization'>ville,pays</p>
<p id='cp_portfolio_url'>adresseURL</p>
<div class='social_bar'>
<div id='social1'>http://www.twitter.com/</div>
<div id='social2'>https://www.facebook.com/</div>
<div id='social3'>http://www.google.com/</div>
<div id='social4'>http://www.linkedin.com/</div>
</div>
<p id='cp_description'>Ceci est ma description</p>
<section class='stats'>
5000 | 13
</section>
</li>
</ul>
</div>


mais lorsque je fait mes test (création d'un post) je vais sur ma page pour observer le résultat, pas de mise en page. J'inspecte le code et la surprise, Wordpress me rend ceci :

<div id="profile">
      <li>        <p>
          heeey ville,pays adresseURL  http://www.twitter.com/  https://www.facebook.com/  http://www.google.com/  http://www.linkedin.com/ Ceci est ma description 5000 | 13        </p>
        <section class="stats">
          5000 | 13
        </section>
      </li>
  </div>


Sacrée cure d'amincissement. Plus de class ou ID, tout mes <a> et <p> rassemblé en un seul... Du coup je suis perdu. J'ai essayé les filtres rien n'y fait. J'ai essayé d'injecter mon HTML plus proprement et aucun résultats non plus.. Des pistes ?
Modifié par lucas73 (20 Jan 2014 - 11:09)
Bonjour, c'est quand même incroyable, j'ai testé les mêmes filtres, et ça ne change rien au résultat. Serait-il possible que ces filtres ne soient plus adaptés aux versions récentes de WP ?

Le pire c'est que c'est juste sur un textarea dans un formulaire, donc pas de Tiny MCE.

J'ai essayé de faire des rechercher/remplacer en JS (PHP, ça n'apporte rien) pour virer les tags qui se rajoutent, mais ça me foire ma mise en page sur le formulaire.

Finalement, à moins de transformer le code pour qu'il soit au kilomètre, rien ne fonctionne. C'est quand même très embêtant dans tous les cas.