WordPress 4.1 für Theme-Entwickler: die wichtigsten Neuheiten

Kein Beitragsbild

Andreas Hecht

ist WordPress-Entwickler und bietet dir WordPress-Sicherheit für deine Website. Zudem entwickelt er...

WordPress 4.1 ist eine lang erwartete Version für Theme-Entwickler. Denn gerade für diese Zielgruppe gibt es eine ganze Menge Neuigkeiten. Nicht nur das neue Standard-Theme “Twenty Fifteen” ist mit dieser Version erschienen, sondern auch eine ganze Reihe neuer Funktionen und Features. Diese neuen Funktionalitäten vereinfachen die Theme-Entwicklung zum Teil deutlich. In diesem Artikel werfen wir einen näheren Blick auf die neuen Funktionen und wie Sie sie bei der Entwicklung eines neuen Themes einsetzen können.

Neues für Theme-Entwickler in WordPress 4.1

1. Der automatische Title-Tag

Bis zum Release von WordPress 4.1 hatte jedes Theme seine ganz eigene Implementierung des <title> Tags. Jeder Entwickler kochte sein eigenes Süppchen. Der Code variierte von Theme zu Theme zum Teil erheblich. Genau diese Vielfalt von Möglichkeiten haben externen Plugins – zum Beispiel SEO-Plugins – die Arbeit erschwert, den Inhalt des Title-Tags zu manipulieren.

Die neue und dringend empfohlene Vorgehensweise ist die Nutzung von add_theme_support() für den Title-Tag. Der benötigte Code ist relativ einfach:

Die neue Funktion für den Title-Tag

Durch die Notierung von Theme-Support wurde WordPress mitgeteilt, dass der <title> automatisch generiert werden soll. Dies geschieht durch die Funktion _wp_render_title_tag(), die in wp_head einhakt. Die Filter von wp_title können weiterhin genutzt werden, um die Ausgabe des Titels anzupassen.

Funktionen für Navigation und Pagination

WordPress hat bereits seit einiger Zeit Funktionen inkludiert, um Navigations-Links innerhalb von Beiträgen und Beitrags-Übersichten zur Verfügung zu stellen. Nur nutzte bisher jedes Theme diese Funktionen mit anderem Code und Text. WordPress 4.1 bietet nun erstmalig Tags an, die die komplette Navigation ausgeben. Das ermöglicht Theme-Entwicklern, sich auf das wichtigste Element überhaupt zu konzentrieren: Das Design.

Ein weiterer Vorteil an den neuen Navigation-Tags ist, dass man Sie nicht mehr übersetzen muss. Denn die passenden Übersetzungen sind bereits (überwiegend) im WordPress-Core vorhanden.

Kennst du unser E-Book-Bundle? Spare jetzt 6,99 €!

E-Book Bundle von Andreas Hecht

2. Post Navigation zwischen Artikeln

Die beiden Post-Navigations-Funktionen, the_post_navigation()und get_the_post_navigation(), geben einen Satz an Links zu vorigen und nächsten Artikeln aus. Diese Funktionen kommen auf der Beitragsansicht zum Tragen (single.php).

Die Funktionen akzeptieren ein Array an Argumenten:

  • prev_text: Der Text des Links zu vorigen Artikeln. Standard ist der Beitrags-Titel.
  • next_text: Der Text für den nächsten Beitrag. Standard ist der Beitrags-Titel.
  • screen_reader_text: Der Text für Screenreader.

Der standardmäßig ausgegebene HTML-Quelltext:

html-output-post-navigation

3. Post Navigation zwischen den Seiten der Beiträge

Die beiden soeben unter 2. vorgestellten Funktionen können auch für die Navigation zwischen den einzelnen Seiten der Artikel-Übersichten (index.php und archives.php) verwendet werden.

Die Funktionen akzeptieren in diesem Fall ein Array folgender Argumente:

  • prev_text: Der Text des Links zur vorigen Artikel-Seite. Standard ist “Ältere Beiträge”.
  • next_text: Der Text für die nächste Beitrags-Seite. Standard ist “Neuere Beiträge”.
  • screen_reader_text: Der Text für Screenreader.

Der Standardmäßig ausgegebene HTML-Quelltext:

Der HTML-Output für Ältere/Neuere Artikel

4. Post Pagination – nummerierte Blogseiten-Navigation

Post Pagination ist eine sehr interessante neue Funktion, denn Sie ermöglicht es, mit nur einem in eine Theme-Datei eingefügten Tag, eine komplette nummerierte (paginierte) Navigation zu erstellen. Dabei kann der neue Tag the_posts_pagination() mit sämtlichen Argumenten des älteren Tags paginate_links() versehen und angepasst werden. Demnächst wird es einen Artikel zur Erstellung einer perfekten, nummerierten Navigation hier auf Dr. Web geben. Relativ unbekannt dürfte sein, dass man eine Paginierung auch vor WordPress 4.1 bereits mit dem Template-Tag paginate_links() hätte fast genauso leicht erstellen können.

Hier eine Auswahl an Argumenten für diese Funktion

  • mid_size: Wieviele Seitennummern werden neben der aktuellen angezeigt? Standard ist der Wert 1.
  • prev_text: Text des Links zur vorigen Seite. Standard ist “Vorige”
  • next_text: Text des Links zur nächsten Seite. Standard ist “Nächste”
  • screen_reader_text: Der Text für Screenreader.

Die Texte der Links sollten angepasst werden, besonders weil der prev_text bei der Übersetzung vergessen wurde. Er lautet auch in der deutschen Version von WordPress auf “Previous”.

Hier der Standard-HTML-Output von the_posts_pagination():

html-output-von-post-pagination

Funktionen für Archive

Archive sind wirklich wichtige Funktionen in WordPress. WordPress unterstützt hierbei Taxonomien (Kategorien, Tags und Post Formats) und Datums-Archive wie zum Beispiel Archive nach Tag, Monat und Jahr. Zwei von den Taxonomien unterstützen zudem Archiv-Beschreibungen, nämlich Archive nach Kategorien und Tags. Diese Funktionen erlauben es, eine Beschreibung für jede Kategorie und jeden Tag hinzuzufügen.

Es wurde zur besten Vorgehensweise unter Theme-Entwicklern, dass diese Beschreibungen zusammen mit einem passenden Archiv-Titel auf den Archiven angezeigt werden. WordPress 4.1 hat neue Tags eingeführt, die den Entwicklern in dieser Hinsicht das Leben erleichtern und Zeit einsparen helfen können.

5. Die Archiv-Titel

Die beiden Funktionen the_archive_title() und get_the_archive_title() zeigen den Titel des Archivs mit einem passenden Präfix an. Das Präfix variiert dabei mit dem Typ des angezeigten Archivs:

  • Kategorie: für Kategorie-Archive
  • Tag: für Tag-Archive.
  • Autor: für Autoren-Archive.
  • Jahr:, Monat: und Tag: für Archive nach Jahr, Monat und Tag
  • Asides, Galerie, Bild, Video, Zitat, Link, Statusmitteilung, Audio und Chat: für Archive nach Post Format.
  • Archives: für benutzerdefinierte Archive

Theme-Entwickler, die den Standard-Output modifizieren möchten, können dies über die get_the_archive_title Filter tun.

Die the_archive_title() Funktion akzeptiert zwei Argumente, $before und $after. Diese Argumente können zum Anzeigen von ergänzenden Text vor oder nach dem Archiv-Titel genutzt werden.

6. Die Archiv-Beschreibung

Die beiden Funktionen the_archive_description() und get_the_archive_description() sind für die Anzeige von Beschreibungen von Taxonomien zuständig. Das funktioniert mit Kategorien, Tags und benutzerdefinierten Taxonomien.

Der the_archive_description() Template-Tag akzeptiert die beiden Argumente $before and $after. Diese Argumente können zum Anzeigen von ergänzendem Text vor oder nach der ausgegebenen Beschreibung genutzt werden.

7. Der Screenreader-Text

Bei der Nutzung der neuen Template-Tags wird Ihnen schnell auffallen, dass zusätzlich zum Quelltext der Funktionen immer noch zu jeder Funktion ein Text für Screenreader automatisch hinzugefügt wird. Das ist sehr wichtig im Sinne der Zugänglichkeit, auch genannt Barrierefreiheit Ihrer Webseite. Denn mit diesen zusätzlichen Text-Elementen können Sehbehinderte auch am Inhalt Ihrer Webseite teilhaben.

Der zusätzliche Text für Screenreader soll nicht sichtbar sein im Theme, sondern nur in der Quelltext-Ansicht. Sie können diesen Text mit dem folgenden CSS ganz leicht aus dem sichtbaren Teil Ihres Themes ausblenden und erhalten trotzdem die Zugänglichkeit für Sreenreader:

css-zum-ausblenden-von-sreenreader-text

8. – Veraltete Admin-Menü-Links

Auch in WordPress Version 4.1 kommt wieder das berühmte Wort “deprecated” zum Einsatz. Deprecated kennzeichnet veraltete Funktionen, die zwar noch funktionieren, jedoch nicht mehr genutzt werden sollen. In Version 4.1 hat es die Admin-Menü-Punkte für den Hintergrund und den Header erwischt. Beide Menüpunkte sind zwar noch unter dem Menü für “Design” vorhanden, verlinken jedoch nicht mehr auf eigenständige Seiten, wie bisher. Beide Links leiten auf den neuen Theme-Customizer (“Anpassen”) weiter. Die eigenständigen Links werden voraussichtlich in der nächsten neuen WordPress-Version aus dem Menü entfernt werden.

Die beiden deprecated Links unter "Design".

Wenn Sie den Theme-Support für den benutzerdefinierten Hintergrund hinzufügen wollen, müssen Sie nicht länger die Callback-Funktionen für admin-head-callback und admin-preview-callback Argumente für add_theme_support('custom-background') hinzufügen. Alles läuft nun ausschliesslich über den Theme Customizer ab. Eine wunderbare Einführung in den Theme-Customizer und die Best-Practices in der Programmierung der Funktionen liefert das neue WordPress-Standard-Theme Twenty Fifteen.

 Fazit

Die neuen Funktionen sind nicht umwerfend, erleichtern jedoch die Arbeit eines Theme-Entwicklers zum Teil sehr. Sollten Sie mehr über die neuen Funktionen und deren optimale Einsatzweise lernen wollen, dann empfehle ich Ihnen, sich das _s (Underscores) Starter-Theme auf Github näher anzusehen. Es ist komplett aktuell mit allen neuen WordPress-Funktionen und bietet daneben noch Unterstützung für ältere Versionen von WordPress. Auch das neue Twenty Fifteen Theme kann ich Ihnen – dank optimaler Umsetzung aller neuen Funktionen – als Vorlage zum Erlernen neuer Funktionen vorbehaltlos empfehlen.

Links Zum Beitrag

(dpe)

Andreas Hecht

ist WordPress-Entwickler und bietet dir WordPress-Sicherheit für deine Website. Zudem entwickelt er WooCommerce Shops mit Ladezeiten von unter einer Sekunde. Er schreibt seit 2012 für Dr. Web. Auf seinem Blog veröffentlicht er unter anderem nützliche WordPress-Snippets.

Hinterlasse einen Kommentar

6 Kommentare auf "WordPress 4.1 für Theme-Entwickler: die wichtigsten Neuheiten"

Benachrichtige mich zu:
avatar
Sortiert nach:   neueste | älteste | beste Bewertung
Torsten
Gast

Die Texte der Links sollten angepasst werden, besonders weil der prev_text bei der Übersetzung vergessen wurde. Er lautet auch in der deutschen Version von WordPress auf “Previous”.

Die Übersetzung für die finalen Releases waren immer zu 100% abgeschlossen. Mit welchem Release hast Du das getestet?

Andreas Hecht
Gast

Hi Torsten,

ich habe es mit Version 4.1 getestet.

Torsten
Gast

Die Standardtexte hätten natürlich trotzdem übersetzt sein müssen. Nach dem Nachfolge-Beitrag bin ich dem jetzt nochmal nachgegangen und ja, das war ein Fehler im Core, weshalb die Übersetzung nicht angezeigt wurde. Ist mit 4.1.1 gefixt worden.

Torsten
Gast

Ja, bisher hat nur Twenty Fifteen eine Unterstützung von the_post_navigation:
https://github.com/WordPress/WordPress/search?utf8=%E2%9C%93&q=the_post_navigation

Andreas Hecht
Gast

Alles klar, danke! Das Theme war das Twenty Twelve. Dann ist das der Übertäter 🙂

Torsten
Gast

Ich habe nochmal nachgeschaut. Die Übersetzung dazu wird im Theme gemacht. Die Frage ist also nicht mit welcher WP-Version du getestet hast, sondern mit welchem Theme. Twenty Fifteen hat diesen String seit Dezember 2014:

https://translate.wordpress.org/projects/wp/dev/twentyfifteen/de/default?filters%5Bstatus%5D=either&filters%5Boriginal_id%5D=202008&filters%5Btranslation_id%5D=9335775

Daran kann es also nicht liegen.

wpDiscuz