J'ai l'impression que je dois manquer quelque chose d'assez évident, ici, mais je n'arrive pas à faire coopérer WordPress.
Je génère des balises Facebook OG avec une fonction. Tout fonctionne bien, sauf l'extrait.
Depuis la dépréciation de get_the_excerpt($post->ID)
, existe-t-il une autre façon de créer un extrait sans avoir à créer une toute nouvelle boucle? Cela me semble excessif.
Mon premier réflexe a été d'utiliser apply_filters()
:
$description = apply_filters('the_excerpt', get_post($post->ID)->post_content);
Cela me donne le message complet, avec un contenu au format HTML. D'accord, ça doit être faux. J'ai donc essayé la prochaine idée logique:
$description = apply_filters('get_the_excerpt', get_post($post->ID)->post_content);
Pas de dé. Maintenant, il n'y a pas de code HTML, mais c'est toujours l'article complet (ce qui est vraiment déroutant).
OK pas de problème. Sautons toutes les choses fantaisistes et allons simplement pour l'entrée coupée:
$description = wp_trim_excerpt(get_post($post->ID)->post_content);
Pas de changement.
Donc, ma question est la suivante: que diable se passe-t-il? Y a-t-il quelque chose qui me manque ici?
Je suis entré dans le noyau WP pour trouver comment cela the_excerpt()
fonctionne, et il semble être identique à mon appel:
/**
* Display the post excerpt.
*
* @since 0.71
* @uses apply_filters() Calls 'the_excerpt' hook on post excerpt.
*/
function the_excerpt() {
echo apply_filters('the_excerpt', get_the_excerpt());
}
J'ai quelques questions basées sur mes conclusions:
- Pourquoi le filtre ne s'applique-t-il pas comme prévu?
- Existe-t-il un moyen d'extraire l'extrait de la boucle sans créer de nouvelle boucle?
- Suis-je fou?
Merci d'avance pour avoir regardé. Je suis assez perplexe, ici.
get_the_excerpt()
n'est plus obsolète, seul le paramètre supplémentaire qui lui était transmis n'est plus utilisé.