Ankerlink an den Anfang der Seite
accessories 19827 1920
Generic filters
Filter by Kategorien

Der Beitrag, geschriebem am 30. August 2017, ist schon etwas älter und könnte womöglich nicht mehr aktuell sein

WordPress-Seiten können entweder Inhaltsseiten sein oder so genannte Archive, das sind Seiten die mehrere Beiträge listen, und auf die jeweiligen Einzelinhalte verlinken. Die Archive zeigen je nach Theme und redaktioneller Organisation die ganzen Inhalte, einen Teaser (sofern das More-Tag nach dem Abschnitt der noch im Archiv gezeigt wird eingefügt wurde), oder einen kurzen Auszug (Excerpt).

Mein Favorit ist der Auszug, der in seiner manuellen Form gar nicht mal so oft genutzt wird, was an dem kleinen Mehraufwand liegen könnte, den er verursacht. Um ihn einzusetzen muss das Feld Auszug unterhalb des Haupteditors befüllt werden. Die Lust auf den Hauptartikel lässt sich hier durch eine gestraffte Zusammenfassung und mit Hilfe von HTML-Formatierung gezielt wecken. Wo das Auszugfeld leer blieb, greift nach wie vor noch der automatische Auszug, der den von jedwedem HTML befreiten Inhalt eines Artikels nach einer vordefinierten Anzahl Wörter beschneidet.

Welcher Filter ist wofür zuständig

the_content wirkt sich sowohl auf Artikel / Teaser in Archiven aus aus als auch auf Einzelseiten.
get_the_excerpt wirkt sowohl beim manuellen als auch beim Auto-Auszug. Das kann unter bestimmten Umständen bei der Anwendung von Filtern zu unerwünschten Effekten führen. Während es kein Problem darstellt, vor oder nach dem Auszug mittels Filter HTML einzusetzen, ist dies innerhalb des Auto-Auszugs nicht vorgesehen.

Aus diesen oder anderen Gründen kann es sinnvoll sein, beim Einsetzen des get_the_excerpt-Filters zu ermitteln, mit welcher Art Auszug man es zu tun hat, um die Vorgehensweise dem anzupassen.

function pppf_get_get_the_excerpt( $content, $post_id ) {
	$post_id = get_the_ID(); 	
	if ( false === has_excerpt( $post_id ) ) { 
	$before = '<h2>Auto Excerpt</h2>'; 
	} else $before = '<h2>Manual Excerpt</h2>'; 
	return $before . $content;
}
add_filter('get_the_excerpt', 'pppf_get_get_the_excerpt');

Kommt die Funktion auch im the_content-Filter zum Einsatz, lässt sich die Differenzierung mit doing_filter( 'get_the_excerpt' ) verfeinern.

function pppf_get_get_the_excerpt( $content, $post_id ) {
	$post_id = get_the_ID(); 	
	if ( false === has_excerpt( $post_id ) && doing_filter( 'get_the_excerpt' ) ) {
		$before = '<h2>Auto Excerpt</h2>'; 
	} elseif ( true === has_excerpt( $post_id ) && doing_filter( 'get_the_excerpt' ) ) {
		$before = '<h2>Manual Excerpt</h2>'; 
	} else { 
		$before = '<h2>Other Filter Stuff</h2>'; 
	}
	return $before . $content;
}
add_filter('get_the_excerpt', 'pppf_get_get_the_excerpt');
add_filter('the_content', 'pppf_get_get_the_excerpt');

Bitte das Kommentarfeld nicht für Supportanfragen nutzen; hier kann kein Support angeboten werden. Die Angabe von Name oder E-Mail-Adresse ist optional, ein Spitzname wäre trotzdem nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Name und E-Mail-Adresse (beides optional, da alle Kommentare moderiert werden) werden dauerhaft gespeichert. Über dieses Formular kann jeder Zeit die Löschung persönlicher Daten oder Kommentare angefordert werden; die Anfrage wird nicht veröffentlicht und nach der Bearbeitung gelöscht. IP-Adressen, die mit Kommentaren gespeichert werden, werden nach zwei Monaten automatisch gelöscht.

Ihre Nachricht wird möglicherweise zur Spam-Prüfung an OpenAI (USA) weitergeleitet. Weitere Informationen finden Sie in unserer Datenschutzerklärung.