+++tag.php+++

Schlagwort-Archiv Kategorie

Kategorie oder Seitenansicht
Autor: René A. Da Rin,   Artikel erstellt: am 27.12.2018,   aktualisiert am 31.12.2018



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.

Hinweis bei leerer Kategorie
Autor: René A. Da Rin,   Artikel erstellt: am 20.11.2017,   aktualisiert am 28.11.2017



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.