web-dev-qa-db-fra.com

the_content après l'analyse de tous les codes courts

Je crée un plugin WordPress pour le répertoire WordPress.

Comment puis-je obtenir the_content() après avoir appliqué tous les codes abrégés présents dans the_content?

Laisse-moi expliquer:

Mon plugin sera utilisé dans plusieurs thèmes et sites Web; et les utilisateurs ajouteront des codes abrégés dans leurs publications ou leurs pages. Je veux que mon plugin fonctionne après l'analyse de ces codes courts, puis utilise le contenu de mon plugin en tant qu'entrée.

4
kuldip

Première règle:

Lorsqu'il est utilisé dans les fichiers de modèle de thème (c.-à-d. La boucle WordPress), the_content() renvoie par défaut le contenu après l'application de tous les codes courts.

Deuxième règle:

Si vous avez un shortcode personnalisé, vous devez appliquer la fonction de gestionnaire de shortcode avec add_shortcode (évidemment). Sinon, vos propres codes courts personnalisés ne fonctionneront pas.

Troisième règle:

Si la fonction liée au contenu de votre plug-in est exécutée indépendamment de the loop et que vous souhaitez récupérer le contenu à l'aide d'une requête personnalisée, vous pouvez utiliser la fonction do_shortcode pour appliquer les codes courts au contenu. Comme:

$content = do_shortcode( $content );

ou _ vous pouvez utiliser le filtre the_content dans le même but:

$content = apply_filters( 'the_content', $content );

Ici vous trouverez une discussion similaire.

2
Scott

Vous cherchez un filtre peut-être?

add_filter( 'the_content', 'wpse_the_content_filter', 20 );

function wpse_the_content_filter( $content ) {
   // Do whatever you want with the $content
   return $content;
}

Filtrer 'the_content' transmettra le contenu de la publication ou de la page à une fonction de votre choix.

Veillez simplement à l'exécuter tardivement (par exemple 20) et à renvoyer le contenu afin qu'il puisse être affiché.

Plus d'informations ici:

https://codex.wordpress.org/Plugin_API/Filter_Reference/the_content

1
Pedro Coitinho