Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03551.jsonl.gz/305

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.
Ein Wetter-Widget auf Ihrer Webseite stellt das Wetter grafisch dar. Zum Beispiel als aktuelles Wetter oder/und Wettervorhersage für einen bestimmten Ort. Dafür müssen Sie zuerst unter Design > Widgets ein neues HTML-Widget erstellen und an der gewünschten Stelle positionieren.
Nun benötigen Sie noch den Code für das HTML-Widget. Dafür finden Sie einige Seiten im Netz. Mir persönlich gefällt weatherwidget.io zur Zeit am Besten. Es bietet vielfältige Einstellungsmöglichkeiten was Farben und Schrift angeht. Vor allem die Möglichkeit des transparenten Hintergrundes schätze ich sehr. Ich verwende den Code in verschiedenen Ausführungen bei darin.ch und restaurant-wäspi.ch.
Weitere Codes gibts bei Diesen Diensten:
Die Sidebar ist nicht da wo sie soll? Abhilfe schafft der folgende Beitrag.
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.
Wenn Sie fremde Bilder in Ihrer Mediathek verwenden, sollten Sie die Quelle und einen Hinweis auf die Lizenz angeben. In der Mediathek selber verwenden Sie dazu das Feld Beschriftung. Wenn Sie das Foto selber geschossen haben, kann das z.B. so aussehen:
Foto: René A. Da Rin
Wenn es sich um ein fremdes Foto handelt:
Berlin bei Nacht, Bildlizenz: Pexels.com
Bei Pexels handelt es sich um einen Dienst für Lizenzfreie Bilder. Jeder kann hier eigene Bilder zur freien Verwendung zur Verfügung stellen. Eine Nennung ist zwar meist nicht gefordert, ich halte es aber dennoch für angebracht. Ausserdem, wenn man einmal damit anfängt, sollte man die Beschriftung bei jedem Bild einfügen. Auf dieser Seite kommt das zwar nicht zur Anwendung, da ich nur Grafiken verwende, aber in meinem Blog wird das konsequent durchgezogen.
Ob solche Bildunterschriften dann auch angezeigt werden, hängt wiederum vom verwendeten Theme ab. Sollte die Funktion fehlen, einfach mit folgendem Code an der entsprechenden Stelle einfügen.
Das CSS zur Formatierung kann dann z.B. so aussehen:
/* Bildunterschrift Beitragstitel */
.caption-head{
font-family: Courier, Helvetica, serif;
font-size: 10px;
color: #5D5D5D;
text-align: right;
margin-right: 8px;
margin-top: 3px;
}
Die Bildunterschrift soll einem nicht direkt ins Auge springen. Sie darf ruhig zurückhaltend und dezent, aber dennoch lesbar sein.
Manchmal macht es durchaus Sinn, Beiträge ganzer Kategorien nicht überall anzuzeigen. Mit dem Plugin Ultimate Category Excluder kann man steuern, wo eine Kategorie angezeigt werden soll. Auf meinem Blog veröffentliche ich auch Rezepte. Diese sollen aber auf der Startseite nicht erscheinen, sondern nur im Kategorie Archiv. In den Einstellungen des Plugin kann man auswählen, wo die Inhalte einer Kategorie nicht erscheinen dürfen.
Wählt man alle Optionen aus, erscheinen die Beiträge nirgends mehr auf der Webseite. Auch das kann durchaus mal Sinn machen. In der Navigation und im Kategorien Widget bleibt die Kategorie weiterhin erhalten, im Widget wird auch weiterhin die Anzahl der Beiträge angezeigt, nur eben die Beiträge selber nicht.
Mein Provider hat letzte Nacht auf die neuste PHP Version aktualisiert und mir dabei eine WordPress Installation abgeschossen, da eine meiner selber hinzugefügten PHP Funktionen sich nicht damit verträgt. Das ist ärgerlich, da ich jetzt erst mal herausfinden muss, um welche Funktion es sich handelt, und wie ich die Funktion aktualisieren muss.
Praktisch ist es also, wenn es mir im Backend die PHP Version anzeigt. Das lässt sich mit einer weiteren Funktion erreichen. Ich bin dabei bei Torsten Landsiedel fündig geworden.
Detailliertere Erklärungen finden Sie direkt in seinem Beitrag.
Zu sehen sind die Angaben in der Kachel ‘Auf einen Blick’. Wird Diese nicht angezeigt, muss sie über ‘Ansicht anpassen’ aktiviert werden.
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.
Bei meinen WordPress Projekten bin ich in der Regel alleiniger Autor. Bei einem Projekt hat es sich nachträglich ergeben, dass der Kunde auf eine Anzahl Beiträge (die er als eigener User regelmässig aktualisieren muss) Zugriff haben muss. Meldet er sich im Backend an, werden ihm nur seine eigenen Beiträge aufgelistet.
Mir als Admin werden natürlich alle Beiträge aufgelistet. Schnell habe ich die Möglichkeit vermisst, nur die Beiträge eines einzelnen Autoren zu listen. Abhilfe dafür schafft eine zusätzliche Funktion.
Diese Funktion muss in die functions.php des Themes kopiert werden, oder mit entsprechendem Plugin als Snippet erfasst werden.
Social Plugins sind seit dem 1.8.2018 nicht mehr berechtigt, automatisch auf privaten Profilen zu posten.
Das automatische Posten auf Facebook-Seiten bleibt weiterhin erlaubt. Jedoch scheint auch das nicht mehr ohne Weiteres zu funktionieren.