Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03501.jsonl.gz/1897

Wie bei allen Content Management Systemen hat auch WordPress so seine Eigenheiten. Je nachdem wie der Theme Entwickler sein Theme aufgebaut hat, kann es bei Anpassungen nötig sein, beim verarbeiten des Code zu wissen, ob es sich bei der Darstellung nun um eine Kategorie, ein Suchergebnis oder die Einzelanzeige eines Beitrages handelt.
Das hier vorliegende Theme kennt keinen Auszug und stellt über die content.php den Beitrag mit seinem kompletten Inhalt dar. Nicht nur bei der Einzelansicht, sondern auch bei der Auflistung in Kategorien oder beim Suchergebnis. Katastrophal unübersichtlich.
Da die category.php, archive.php, search.php und single.php jeweils alle die content.php für die Darstellung des Beitrages laden, können Anpassungen nur in der content.php getätigt werden.
Anhand des Beispiels für den Auszug heisst das, nur wenn die content.php über die single.php geladen wird, soll
the_content(); für die Ausgabe des Beitrages verwendet werden. In allen anderen Fällen soll
the_excerpt(); zum Zuge kommen.
Man könnte jetzt mit der Holzhammermethode vorgehen und in den Dateien welche die content.php laden, eine Variable definieren, mit welcher dann in der content.php die Ausgabe gesteuert wird. Sollte theoretisch funktionieren.
Es geht aber auch eleganter. WordPress weiss in der Regel in welchem Darstellungsmodus es sich befindet. Dafür gibt es die Funktionen
is_category(),
is_single() und
is_search().
Mit Hilfe einer IF-Abfrage lässt sich nun die Ausgabe steuern.
Natürlich können Sie eine Kategorie, welche noch keine Beiträgen enthält, einfach nicht in Ihrem Navigations-Menu aufnehmen. Das birgt allerdings die Gefahr, dass Sie es nach dem Erfassen des ersten Beitrags vergessen.
Wenn Ihr Theme aber bei einer leeren Kategorie einfach kommentarlos eine leere Seite anzeigt, so ist das unschön. In diesem Fall müssen Sie Ihr Theme nachbessern. Öffnen Sie die Datei, welche für die Ausgabe der Kategorie zuständig ist. Bei dem hier verwendeten Theme ist es die category.php. Suchen Sie nach folgendem Code (oder so ähnlich):
if ( have_posts() ) : // Start the Loop... while ( have_posts() ) : the_post(); get_template_part( 'content',''); endwhile; endif;
Dieser Code besagt, wenn Beiträge vorhanden sind, dann liste (while) die Beiträge auf. Direkt VOR oder NACH diesen Codeblock fügen Sie folgende Zeilen ein:
Dieser Code bewirkt die Anzeige einer Grafik und eines Text, wenn die Funktion have_posts() kein Ergebnis liefert.