2016-04-22 3 views
1

J'importe des publications de mon site WordPress à partir de différentes sources. L'importation se fait via un script, en utilisant la fonction wp_insert_post qui fonctionne très bien.Supprimer les tags endommagés des publications WordPress

Cependant, certains messages viennent avec un div de fermeture qui ne démarre jamais et qui chamboule mon thème.

J'ai remarqué que cette balise </div> disparaît automatiquement si je vais dans le tableau de bord wordpress -> éditer poste et passer simplement du mode visuel au mode html sans avoir à retirer manuellement la div.

Maintenant la question: y at-il une fonction dans wordpress codex qui fait cela et que je pourrais courir pour le post_content avant d'exécuter wp_insert_post?

Merci!

Répondre

1

Cela est dû au fait que l'éditeur WordPress corrige automatiquement le format HTML incorrect. C'est également possible pour ce côté serveur avant d'insérer un nouveau message.

La WordPress fonction intégrée force_balance_tags normalise les éléments HTML inégalés:

force_balance_tags("<p>unbalanced html</p></div>") 

Retournera:

<p>unbalanced html</p>