web-dev-qa-db-fra.com

Comment puis-je supprimer le paragraphe du contenu des codes courts?

Si vous avez créé des codes abrégés dans Wordpress, vous avez peut-être remarqué que lorsque vous obtenez le contenu de votre code abrégé, il est enveloppé dans des balises de paragraphe HTML.

Je ne sais pas pourquoi les progamers ont fait ça. Cela me semble une très mauvaise idée d’ajouter une mise en forme au contenu réel.

J'ai trouvé un article qui présente cette solution:

http://donalmacarthur.com/articles/cleaning-up-wordpress-shortcode-formatting/

Mais je me demande: existe-t-il une solution proposée par l’API wordpress elle-même, ou quelque chose qui me manque ici?

1
SpyrosP

Les codes abrégés, puisqu'ils sont insérés dans l'éditeur, sont conformes aux règles de l'éditeur. Frapper le retour dans l'éditeur va générer une balise de paragraphe, comme tout autre texte. C'est l'une des fonctionnalités de TinyMCE. Pour en savoir plus sur TinyMCE, consultez son forum et surtout ce fil .

3
Daniel Sachs

Le lien dans votre question est maintenant éteint, je ne suis donc pas sûr de la solution suggérée, mais voici une autre solution pour la postérité:

Ajoutez les éléments suivants au fichier functions.php pour exécuter le formatage une fois les codes courts évalués:

remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 12);

L'auteur note que vous devez activer explicitement le formatage dans les plugins qui en ont besoin:

function my_shortcode($atts) {
    $content = wpautop(trim($content));
    [snip]
1
ptim