Ich habe das Gefühl, dass mir hier etwas ziemlich Offensichtliches fehlt, aber ich kann WordPress anscheinend nicht dazu bringen, zusammenzuarbeiten.
Ich generiere Facebook OG-Tags mit einer Funktion. Bis auf den Auszug funktioniert alles einwandfrei.
Gibt es seit der Ablehnung von get_the_excerpt($post->ID)
eine andere Möglichkeit, einen Auszug zu erstellen, ohne eine ganz neue Schleife erstellen zu müssen? Es scheint mir übertrieben.
Mein erster Instinkt war apply_filters()
:
$description = apply_filters('the_excerpt', get_post($post->ID)->post_content);
Das gibt mir den vollständigen Beitrag mit HTML-formatierten Inhalten. Okay, muss falsch sein. Also habe ich die nächste logische Idee ausprobiert:
$description = apply_filters('get_the_excerpt', get_post($post->ID)->post_content);
Kein Würfel. Jetzt gibt es kein HTML, aber es ist immer noch der vollständige Beitrag (was wirklich verwirrend ist).
Okay kein Problem. Lassen Sie uns all die ausgefallenen Sachen überspringen und einfach zum gekürzten Eintrag gehen:
$description = wp_trim_excerpt(get_post($post->ID)->post_content);
Keine Änderung.
Meine Frage lautet also: Was zum Teufel ist los? Fehlt mir hier etwas?
Ich bin in den WP-Kern gekommen, um herauszufinden, wie es the_excerpt()
funktioniert, und es scheint mit meinem Aufruf identisch zu sein:
/**
* 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());
}
Ich habe einige Fragen, die auf meinen Erkenntnissen beruhen:
- Warum wird der Filter nicht wie erwartet angewendet?
- Gibt es eine Möglichkeit, den Auszug außerhalb der Schleife abzurufen, ohne eine neue Schleife zu erstellen?
- Bin ich verrückt?
Vielen Dank im Voraus für einen Blick. Ich bin hier ziemlich ratlos.
get_the_excerpt()
wird nicht veraltet, nur der zusätzliche Parameter, der früher an ihn übergeben wurde, wird nicht mehr verwendet.