Sento che qui mi manca qualcosa di abbastanza ovvio, ma non riesco a convincere WordPress a collaborare.
Sto generando tag OG di Facebook con una funzione. Tutto funziona bene, tranne per l'estratto.
Dalla deprecazione di get_the_excerpt($post->ID)
, c'è un altro modo per creare un estratto senza dover creare un ciclo completamente nuovo? Mi sembra eccessivo.
Il mio primo istinto era di usare apply_filters()
:
$description = apply_filters('the_excerpt', get_post($post->ID)->post_content);
Questo mi dà il post completo, completo di contenuti in formato HTML. Va bene, deve essere sbagliato. Quindi ho provato la prossima idea logica:
$description = apply_filters('get_the_excerpt', get_post($post->ID)->post_content);
Niente da fare. Ora non c'è HTML, ma è ancora l'intero post (che è davvero confuso).
Va bene nessun problema. Saltiamo tutte le cose fantasiose e basta andare per la voce tagliata:
$description = wp_trim_excerpt(get_post($post->ID)->post_content);
Nessun cambiamento.
Quindi, la mia domanda è questa: che diamine sta succedendo? C'è qualcosa che mi manca, qui?
Sono entrato nel core del WP per scoprire come the_excerpt()
funziona e sembra essere identico alla mia chiamata:
/**
* 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());
}
Ho alcune domande basate sui miei risultati:
- Perché il filtro non si applica come previsto?
- C'è un modo per estrarre l'estratto dal loop senza creare un nuovo loop?
- Sono pazzo?
Grazie in anticipo per dare un'occhiata. Sono abbastanza perplesso, qui.
get_the_excerpt()
non è obsoleto, non viene più utilizzato solo il parametro aggiuntivo che era stato passato ad esso.