Siento que debo estar perdiendo algo bastante obvio, aquí, pero parece que WordPress no puede cooperar.
Estoy generando etiquetas de Facebook OG con una función. Todo funciona bien, excepto por el extracto.
Desde la desaprobación de get_the_excerpt($post->ID)
, ¿hay otra forma de crear un extracto sin tener que crear un bucle 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 en formato HTML. Está bien, debe estar equivocado. Así que probé la siguiente idea lógica:
$description = apply_filters('get_the_excerpt', get_post($post->ID)->post_content);
No hay dados. Ahora no hay HTML, pero sigue siendo la publicación completa (lo que es realmente confuso).
Está bien, no hay problema. Vamos a omitir todas las cosas de lujo y solo vamos a la entrada recortada:
$description = wp_trim_excerpt(get_post($post->ID)->post_content);
Sin cambios.
Entonces, mi pregunta es esta: ¿qué diablos está pasando? ¿Hay algo que me esté perdiendo, aquí?
Me metí en el núcleo de WP para encontrar cómo funciona the_excerpt()
, 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é no se aplica el filtro como se esperaba?
- ¿Hay una 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í.