it-swarm.com.de

Wo ist die Logik, die den Auszug definiert?

Ich versuche zu lernen, wie man etwas über WordPress lernt, indem man seinem Quellcode usw. folgt.

Ich bin wirklich ratlos über the_excerpt (). Die Dokumentation besagt, dass der Auszug get_the_excerpt () verwendet und entweder den (manuellen) Auszug zurückgibt oder die ersten 55 Zeichen des Inhalts verwendet.

Ich interessiere mich für die Logik, die zuerst nach dem manuellen Auszug sucht und dann entscheidet, ob ein Teilstring aus dem Inhalt des Posts extrahiert werden muss. Aber ich kann es nicht finden.

In post-template.php sehen wir the_excerpt () und get_the_excerpt () definiert.

the_excerpt () gibt nichts weiter aus als get_the_excerpt ():

249 function the_excerpt() {
250         echo apply_filters('the_excerpt', get_the_excerpt());
251 }

get_the_excerpt () scheint nichts weiter zu tun, als die post_excerpt-Spalte aus der wp_post-Tabelle zu holen:

261 function get_the_excerpt( $deprecated = '' ) {
262         if ( !empty( $deprecated ) )
263                 _deprecated_argument( __FUNCTION__, '2.3' );
264 
265         global $post;
266         $output = $post->post_excerpt;
267         if ( post_password_required($post) ) {
268                 $output = __('There is no excerpt because this is a protected post.');
269                 return $output;
270         }
271 
272         return apply_filters('get_the_excerpt', $output);
273 }

Ich verstehe nicht, wo sich die Logik zum Auffinden von $ post-> post_content befindet. Ist es in den Filtern? Ich kann die definierten Filter nirgendwo sehen, aber das kann daran liegen, dass ich nicht weiß, wo ich suchen soll.

Ein flüchtiger Blick auf Adam Browns Quellcode-Suchseite scheint ebenfalls keine Definitionen aufzudecken.

Kann mir jemand helfen, den Faden aufzugreifen und das herauszufinden? Denken Sie daran, ich bin mehr daran interessiert, wie ich es herausfinden kann, als an der eigentlichen Antwort.

Ich schätze die Beiträge aller.

Tom

1
Tom Auger

Soweit ich weiß, wird in der Datei default-filters.php ein Filter auf den Filter 'get_the_filter' angewendet. Der Rückruf bezieht sich auf eine Methode mit dem Namen 'wp_trim_execrpt'. Dies ist in formatting.php zu finden. Von dort können Sie die Logik sehen. Hoffentlich hilft das.

2
Cristian