Themes

Google Fonts
Autor: René A. Da Rin,   Artikel erstellt: am 05.12.2018



Das Einbinden von Google Font in WordPress ist denkbar einfach. Sie gehen auf die Webseite von Google und suchen sich eine Schrift aus. Passen Sie ggf. die Parameter an und klicken Sie auf das Plus-Symbol. Im Reiter ‚Family Selected‘ finden Sie die Codes, welche Sie in Ihre Webseite übernehmen müssen.

Die Standard Variante ist das Einbinden in den Header der Webseite. Die Variante mittels @import ermöglicht es das Laden direkt im CSS-File.

Laden im Header

CSS Datei

Der Schriftenname im CSS entspricht dem Namen wie er von Google geladen wird.

 

Verständlichkeit
Nutzen
Durchschnitt
Bei einzelnem Beitrag statt Auszug kompletten Beitrag listen
Autor: René A. Da Rin,   Artikel erstellt: am 03.12.2018



Bei WordPress muss ich mich für die Startseite entscheiden ob ich eine Statische Seite oder die Liste der letzten Beiträge sehen will.

Das hier verwendete Theme ‚Appointment‘ fügt über der Beitragsliste zusätzliche Inhalte ein, welche im Customizer erfasst werden. Ob die Beitragsliste in einer oder in mehreren Spalten dargestellt wird, ist ausser für das Layout nicht von Belang.

Ich hatte nun die Situation, dass ich auf der Startseiten ein ‚Wilkommen auf dieser Seite‘, wir machen hier dies und das, bla bla bla… einfügen wollte, und darunter dann die letzten Beiträge. Dafür habe ich den Willkommensbeitrag oben angepinnt. Er wird also immer als erster Beitrag ganz oben angezeigt. Auch wenn er bereits älter ist und auf Grund der Begrenzung der Anzahl Beiträge auf der Startseite eigentlich raus fallen würde.

Funktioniert an sich schon ganz gut. Nur ein Problem gibt es, die Funktion der Auszüge. Das Theme zeigt auf der Startseite (auch in der Auflistung nach Kategorien oder Archiven) nur einen kurzen Auszug des Beitrags an. Besonders bei langen Beiträgen macht das die Listen sehr viel übersichtlicher. Und das Verwenden der Auszugs-Funktion gestaltet die Länge der Auszüge einheitlich. Soweit alles gut. Nur, der erste Beitrag, der Willkommensbeitrag, der soll jedoch komplett angezeigt werden.

Um den Inhalt eines Beitrages auszugeben, gibt es bei WordPress 2 Funktionen, the_content() und the_exerpt().

Bei the_content() wird der komplette Beitrag inkl. Textformatierungen und Bilder ausgegeben. So wie der Beitrag zur Darstellung erfasst worden ist. Bei the_exerpt() wird lediglich eine vorgegebene Anzahl an Zeichen ausgegeben, ohne Textformatierung und ohne Bilder.

Die Lösung heisst, der erste Beitrag, ‚Willkommen‘, soll mittels the_content() ausgegeben werden, alle anderen Beiträge mit the_exerpt().

Dafür muss im Child-Theme die Stelle gefunden werden, welche für die Ausgabe zuständig ist. Hier muss nun das the_exerpt() ersetzt werden.

Die Funktion get_the_id() gibt die Post-ID eines Beitrags, aber auch einer Seite in verarbeitbarer Form zurück. Machen Sie nicht den Fehler und verwenden Sie the_id(). Diese Funktion liefert zwar auch die selbe ID, gibt sie aber immer auf dem Bildschirm aus. Und das wollen wir nicht.

An Stelle der ‚123‘ im Codebeispiel verwenden Sie die ID des entsprechenden Beitrages. Zu finden ist die ID in der URL, wenn Sie den Beitrag editieren. Mit dem Plugin Reveal IDs können Sie sich die IDs auch in der Listenansicht der Beiträge/Seiten anzeigen lassen. Das macht Sinn, wenn Sie öfters mal die ID benötigen, sonst können Sie sich das Plugin aber auch sparen, dann sind die IDs nebensächlich. Das wird auch der Grund sein, weshalb diese Anzeige irgendwann mal aus dem Core entfernt wurde und jetzt ein Plugin dafür benötigt.

Der neue Code im Theme bewirkt jetzt, dass nur der Beitrag mit der ID 123 komplett ausgegeben wird, alle Anderen werden nur mit dem Auszug angezeigt.

Beim verwendeten Theme gibts aber auch noch einen Überlegungsfehler. Selbst wenn der Inhalt des Beitrages kürzer ist als der vorgesehene Auszug, so wird der Weiterlesen-Button IMMER angezeigt. Wenn es nichts zum weiterlesen gibt, halte ich den Button auch nicht für nötig. Beim Beitrag mit der ID 123 wird ja der komplette Beitrag angezeigt, da will ich keinen Weiterlesen-Button sehen. Also hab ich Diesen in eine weitert IF-Abfrage gepackt, sodass er bei diesem Beitrag nicht angezeigt wird.

Das Ergebnis ist zu sehen auf der Seite www.skull.name.

 

Reveal IDs

Verständlichkeit
Nutzen
Durchschnitt
Sidebar
Autor: René A. Da Rin,   Artikel erstellt: am 13.11.2018



Als Sidebar definiert man die Bereiche in der Webseite, in welcher die Widgets angezeigt werden. Widgets verwendet man unter Anderem für die Navigation (Menu), Auflistung der Kategorien im Blog, Auflistung der Schlagwörter im Blog und vieles Andere mehr. Die Sidebar befindet sich ausserhalb des Contents.

Ich gehe davon aus, dass jedes Theme mindestens 1 Sidebar beinhaltet. Herausfinden kann man das, indem man auf Design > Widgets klickt.

Links sind die verfügbaren Widgets gelistet, rechts die verschiedenen Sidebars. Hat man nun nur eine Sidebar links vom Content zur Verfügung, und möchte eine Sidebar rechts vom Content hinzufügen, muss man in WordPress erst diese weitere Sidebar registrieren. Dies geschieht in der functions.php der Child-Themes.

 

Je nach verwendetem Theme können die Schreibweisen abweichen. Das oben verwendete Beispiel stammt aus dem Theme ‚Lovecraft‘ von Anders Norén. Wie die richtige Schrwibweise ist, findet man in der entsprechenden Datei.

name: Titel, welcher im Adminbereicht angezeigt wird / Name des Parent Themes.
id: Jede Sidebar muss einen eindeutigen Namen haben (ohne Leerschlag).
description: Die Beschreibung wird ebenfalls im Adminbereich angezeigt / Name des Parent Themes.
bevore_title: HTML vor dem Titel
after_title: HTML nach dem Titel
before_widget: HTML vor dem Widget
after_widget: HTML nach dem Widget

Der HTML-Code für die Formatierung wird in der Funktion eingetragen. Mit before_widget und after_widget wird das Gerüst um das Widget definiert. Rahmen, Hintergrund, Schrift im Widget. Mit before_title und after_title wird der Titel des Widgets umrahmt.

Die Formatierung der Widgets auf dieser Seite ganz rechts ist sehr einfach gehalten. Die Widgets selber haben keinen sichtbaren Rahmen. Dafür ist die komplette Sidebar umrahmt. Auf der Webseite www.darin.ch ist die Gestaltung etwas aufwändiger gelöst (Beispielcode oben). Der Hintergrund besteht aus 3 Grafiken. Der oberste Teil mit dem Tesafilm, darunter der Rahmen links und rechts (hier wird das Widget angezeigt) und unten die Grafik mit dem Schatten.

Nun muss nur noch die Anzeige der Sidebar im Theme ergänzt werden.

Ergänzen Sie die entsprechende Datei mit der Ausgabe der Sidebar.

Eine Sidebar kann nicht nur seitlich des Contents eingefügt werden, sondern auch oben und unten. Was sie auf beiden Seiten im Fussbereich sehen, ist ebenfalls eine Sidebar mit Widgets.

Verständlichkeit
Nutzen
Durchschnitt
Shortcode im Theme verankern
Autor: René A. Da Rin,   Artikel erstellt: am 17.09.2018



Mit Shortcodes (z.B. Shortcode Ultimate) gibt es die Möglichkeit, eingefasste Textbereiche in Seiten und Beiträge hinein zu zoomen. Das wollte ich nun direkt im Theme verankern, um den Auszug und den kompletten Beitrag in der Einzelansicht ein zu zoomen. Den Shortcode einfach z.B. in die single.php um die Funktion the_content() herum zu schreiben, funktioniert nicht, da auf diese Weise der Shortcode von WordPress nicht interpretiert werden kann.

Abhilfe schafft, den Inhalt mit get_the_content() zu holen und durch die Funktion do_shortcode() zu verarbeiten. Damit auch Shortcodes aus Plugins funktionieren, muss auch noch apply_filters() angewendet werden.

 

Verständlichkeit
Nutzen
Durchschnitt
Beschreibung der Kategorie
Autor: René A. Da Rin,   Artikel erstellt: am 29.05.2018



Im Backend können Sie zu jeder Kategorie eine Beschreibung verfassen. Sinnvollerweise sollte Diese dann bei der Auflistung einer Kategorie auch angezeigt werden. Ist dies nicht der Fall, müssen Sie Ihr Child-Theme ergänzen. Dabei kommen in der Regel die Dateien

category.php,
archiv.php und
index.php in Frage. Dabei geht WordPress der Reihe nach vor. Ist keine category.php vorhanden, verwendet WordPress die archiv.php. Ist Diese ebenfalls nicht vorhanden, wird letztendlich die index.php verwendet.

Suchen Sie nach der Zeile

<?php if ( have_posts() ) : ?>

und fügen Sie DAVOR

<?php if ( (is_category()) ) { echo category_description(); } ?>

ein.

Die neue Zeile prüft, ob es sich beim Seitenaufruf um eine Kategorie handelt und gibt entsprechend die Beschreibung aus. Je nach Template kann es zu unschönen Abständen kommen, wenn keine Kategorienbeschreibung vorhanden ist. In diesem Fall sollten Sie die Ausgabe nur tätigen, wenn eine Beschreibung vorhanden ist. Um die Darstellung gezielt zu definieren, erstellen Sie dafür die eigene CSS-Klasse ‚catdescription‘.

 

<?php if ( (is_category()) ) {
if (category_description() != „“)
{
echo „<div class=’catdescription‘>“;
echo category_description();
echo „</div>“;
}
}
?>

 

Auf diese Weise wird die Beschreibung der Hauptkategorie angezeigt. Um auch die Unterkategorien anzuzeigen, muss die Ausgabe um die ID erweitert werden:

category_description($category_id)

 

Um statt nur Text auch HTML für z.B. Bilder in der Beschreibung zu verwenden, müssen Sie noch die functions.php ergänzen:

 

<?php remove_filter(‚pre_term_description‘, ‚wp_filter_kses‘); ?>

Verständlichkeit
Nutzen
Durchschnitt
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.

Verständlichkeit
Nutzen
Durchschnitt
Änderungsdatum anzeigen
Autor: René A. Da Rin,   Artikel erstellt: am 15.11.2017,   aktualisiert am 28.11.2017



Nicht alle Themes zeigen bei Beiträgen und Seiten an, wann sie erstellt und bearbeitet wurden. Insbesondere bei Blogs ist es jedoch sinnvoll zu sehen, wie aktuell die Informationen sind. Dafür benötigen wir eine einfache Funktion in der functions.php oder als Snippet.

Damit für Artikel und Seiten unterschiedliche Texte ausgegeben werden können, benötigen wir 2 unterschiedliche Funktionen. Beide geben immer das Erstellungsdatum aus, wobei das Änderungsdatum erst nach 24 Stunden angezeigt wird. Änderungen die in dieser Zeit getätigt werden, sind meist Rechtschreibfehler korrigieren und strukturelle Anpassungen, was man ja nicht als eigentliche Änderung betrachten kann.

Diese beiden Funktionen werden auch auf dieser Webseite verwendet, da die gewünschte Funktionalität vom verwendeten Theme nicht unterstützt wird.

An der Stelle des Beitrages, an welcher das Datum angezeigt werden soll, fügen Sie folgenden Code hinzu:

<?php echo article_date(); ?>

und in Seiten:

<?php echo page_date(); ?>
Verständlichkeit
Nutzen
Durchschnitt
Template Dateinamen dem Admin anzeigen
Autor: René A. Da Rin,   Artikel erstellt: am 13.11.2017,   aktualisiert am 28.11.2017



Wer sich allgemein neu mit WordPress auseinander setzt, oder sich in ein neues Template einarbeitet, wird sich schnell mal die Frage stellen, welche Templatedateien werden denn gerade verarbeitet?

Das zu lösen ist ganz einfach, man schreibt den Dateinamen so in jede Datei rein, dass er angezeigt werden muss. Damit man aber sich nicht mehr die Mühe machen muss, diese Vermerke wieder zu löschen, und damit der normale Besucher diese nicht zu sehen bekommt, auch nicht wenn er angemeldet ist, soll die Ausgabe nur erfolgen, wenn der Betrachter Admin-Rechte hat.

Verständlichkeit
Nutzen
Durchschnitt