Siento que me estoy perdiendo algo bastante obvio, aquí, pero parece que no puedo lograr que WordPress coopere.
Estoy generando etiquetas de Facebook OG con una función. Todo funciona bien, excepto el extracto.
Desde la depreciación de get_the_excerpt($post->ID)
, ¿hay otra forma de crear un extracto sin tener que crear un ciclo completamente nuevo? Me parece excesivo
Mi primer instinto fue usar apply_filters()
:
$description = apply_filters('the_excerpt', get_post($post->ID)->post_content);
Eso me da la publicación completa, completa con contenido con formato HTML. De acuerdo, debe estar equivocado. Así que probé la siguiente idea lógica:
$description = apply_filters('get_the_excerpt', get_post($post->ID)->post_content);
No dados. Ahora no hay HTML, pero sigue siendo la publicación completa (lo cual es realmente confuso).
Está bien, no hay problema. Omitamos todas las cosas elegantes y solo veamos la entrada recortada:
$description = wp_trim_excerpt(get_post($post->ID)->post_content);
Ningún cambio.
Entonces, mi pregunta es esta: ¿qué diablos está pasando? ¿Hay algo que me falta aquí?
Ingresé al núcleo de WP para encontrar cómo the_excerpt()
funciona, y parece ser idéntico a mi llamada:
/**
* 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());
}
Tengo algunas preguntas basadas en mis hallazgos:
- ¿Por qué el filtro no se aplica como se esperaba?
- ¿Hay alguna manera de obtener el extracto fuera del bucle sin crear un nuevo bucle?
- ¿Estoy loco?
Gracias de antemano por echar un vistazo. Estoy bastante perplejo, aquí.
get_the_excerpt()
no está en desuso, solo el parámetro adicional que solía pasarle ya no se usa.