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.
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.
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.
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.
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