Gibt es eine elegante Möglichkeit, die Verlinkungen aus den Beitragstiteln in der Blog-Ansicht des Astra Themes zu entfernen? Ja – dies lässt sich über eine Filter-Funktion realisieren. Im Folgenden wird die Vorgehensweise erläutert.
Auf einer mit dem Astra Theme erstellten WordPress-Website dient die Blog-Übersicht häufig als News- oder Beitragsbereich. In diesem Beispiel sollen sämtliche Beiträge in der Blog-Übersicht stets vollständig angezeigt werden, inklusive des gesamten Inhalts. Ein Aufruf der einzelnen Beiträge ist nicht erforderlich. Im Gegensatz zur üblichen Darstellung mit Excerpt und Weiterlesen-Link wird hier durchgängig der vollständige Beitragstext gezeigt.
Problematisch ist jedoch, dass die Beitragstitel weiterhin automatisch mit einem Link zum Einzelbeitrag versehen sind. Diese Verlinkungen werden in dieser Darstellung nicht benötigt und sollen daher entfernt werden.
Standardmäßig sieht der HTML-Code für den Beitragstitel – den sogenannten „entry-title“ – wie folgt aus:
<h2 class="entry-title" itemprop="headline">
<a href="https://www.meinsuperdupertestblog.de/cms3/beispielbeitrag/" rel="bookmark">Beispielbeitrag</a>
</h2>Die genaue URL hängt von der verwendeten Permalink-Struktur ab und kann je nach Einstellungen Tags, Monatsarchive, Namen oder numerische Pfade enthalten. Ziel ist hier jedoch ausschließlich, den <a href=“…“>-Link aus dem Titel zu entfernen.
Die Ausgabe des Beitragstitels im Astra Theme ändern
Damit die Beitragstitel in der Blog-Übersicht nicht mehr verlinkt sind, kann eine WordPress-Filter-Funktion genutzt werden. Der Code wird in die Datei functions.php des Themes bzw. besser in ein Child-Theme eingefügt, um die Änderung updatesicher zu gestalten.
So sieht der Code für die function.php Datei aus:
add_filter('astra_the_post_title_before', 'call_back');
function call_back() {
return '<h2 class="entry-title" itemprop="headline">' . get_the_title() . '</h2>';
}
Mit add_filter(‚astra_the_post_title_before‘, ‚call_back‘); wird ein Filter auf den Hook astra_the_post_title_before angewendet. Dieser Hook bietet die Möglichkeit, die Ausgabe des Beitragstitels vor dem Rendern zu beeinflussen.
Die Funktion call_back() wird als Callback ausgeführt. In ihr wird der Beitragstitel in ein <h2>-Element mit der Klasse entry-title und dem Attribut itemprop=“headline“ eingefügt. Optional kann dieses Attribut entfernt oder das Überschriftenelement – beispielsweise zu <h1> oder <h3> – geändert werden. Auch zusätzliche HTML-Formatierungen können jederzeit ergänzt werden.
Nach Anwendung des Codes entfernt WordPress den Link aus dem Titel. Die HTML-Ausgabe sieht anschließend so aus:
<h2 class="entry-title" itemprop="headline">Beispielbeitrag</h2>Der Code ersetzt also die Standardausgabe des Astra Themes für die Beitragstitel in der Blog-Übersicht und ermöglicht eine individuelle Gestaltung. Dies kann nützlich sein, um das Styling der Beitragstitel besser anzupassen oder zusätzliche HTML-Elemente hinzuzufügen.
Filter zum Entfernen von Links aus Featured Images auf der Blog-Seite
Soll zusätzlich die Verlinkung des Vorschaubildes (Featured Image) entfernt werden, kann dies ebenfalls über eine Funktion in der Datei functions.php umgesetzt werden. Der folgende Code entfernt den Link vor und nach dem Vorschaubild:
function astra_remove_link_before( $markup ) {
$markup = __return_empty_string();
return $markup;
}
function astra_remove_link_after( $markup ) {
$markup = __return_empty_string();
return $markup;
}
add_filter( 'astra_blog_post_featured_image_link_before', 'astra_remove_link_before' );
add_filter( 'astra_blog_post_featured_image_link_after', 'astra_remove_link_after' );Diese Filter überschreiben das standardmäßige Astra-Markup, sodass die Featured Images in der Blog-Ansicht nicht mehr verlinkt dargestellt werden.
Diese Methoden sind also hilfreich, wenn im Astra Theme die standardmäßigen Verlinkungen der Beitragstitel oder Vorschaubilder deaktiviert werden sollen. Da es hierfür keine direkte Theme-Option gibt, sind Filter und Actions die sinnvollste Lösung.
Dokumentation/ Knowledge Base Astra Theme: https://wpastra.com/docs/