web-dev-qa-db-fra.com

apply_filters ('the_content') - fait-il ignorer les codes abrégés?

J'utilise apply_filters('the_content) pour pouvoir voir le contenu correctement formaté dans mon éditeur wp dans le backend.

Cependant, cela rend également le shortcode qui se trouve dans le contenu.

Je veux qu'il ignore le shortcode et applique un filtrage au reste du contenu, essentiellement la même chose que lors de la publication de messages. Si vous affichez le contenu d'un message dans le backend, vous verrez le shortcode, mais si vous le visualisez dans une page de votre site Web, vous verrez le shortcode rendu (son résultat).

Est-ce possible?

1
BlekStena

La fonction qui analyse le shortcode, do_shortcode, est ajoutée en tant que filtre sur the_content par défaut, à la priorité 11.

Vous pouvez le supprimer en utilisant remove_filter :

remove_filter( 'the_content', 'do_shortcode', 11 );

Appelez ce droit avant d'utiliser réellement the_content et ajoutez-le ensuite (dans le cas peu probable où cela serait nécessaire par la suite):

remove_filter( 'the_content', 'do_shortcode', 11 );
the_content():
add_filter( 'the_content', 'do_shortcode', 11 );
1
engelen