Andreas Hecht 19. Februar 2015

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

Kein Beitragsbild
Andreas Hecht

entwickelt WordPress-Websites und bietet dir einen Website Sicherheit Service und einen Performance...

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.

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

Andreas Hecht

entwickelt WordPress-Websites und bietet dir einen Website Sicherheit Service und einen Performance Service für deine Website. Außerdem ist er Spezialist für Onpage SEO und bringt Deine Website in die Top-Suchergebnisse von Google.
Dr. Webs exklusiver Newsletter
Hinweise zum Datenschutz, also dem Einsatz von Double-Opt-In, der Protokollierung der Anmeldung, der Erfolgsmessung, dem Einsatz von MailChimp als Versanddienstleister und deinen Widerrufsrechten findest du in unseren Datenschutzhinweisen.

6 Kommentare

  1. 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?

Tut uns leid, aber die Kommentare sind geschlossen...

Kennst du schon unseren Newsletter?

Hinweise zum Datenschutz, also dem Einsatz von Double-Opt-In, der Protokollierung der Anmeldung, der Erfolgsmessung, dem Einsatz von MailChimp als Versanddienstleister und deinen Widerrufsrechten findest du in unseren Datenschutzhinweisen.

Cookies

Weitere Informationen zu den Auswahlmöglichkeiten findest du hier. Dazu musst du zunächst keine Auswahl treffen!

Um Dr. Web zu besuchen, musst du eine Auswahl treffen.

Deine Auswahl wurde gespeichert!

Informationen zu den Auswahlmöglichkeiten

Was du erlaubst!

Um fortfahren zu können, musst du eine Auswahl treffen. Nachfolgend erhältst du eine Erläuterung der verschiedenen Optionen und ihrer Bedeutung.

  • Ich stimme zu:
    Du erlaubst uns das Setzen aller Cookies, die wir in unseren Datenschutzhinweisen genannt haben. Dazu gehören Tracking- und Statistik-Cookies. Aus dem Tracking per Google Analytics bieten wir auf der Seite Datenschutz ein Opt-Out, also die Möglichkeit der Abmeldung, an.
  • Ich stimme nicht zu:
    Wir verzichten bei dieser Option auf den Einsatz von Google Analytics. Die für den Betrieb von Dr. Web notwendigen Cookies werden aber dennoch gesetzt. Einzelheiten entnimmst du bitte den Datenschutzhinweisen

Du kannst deine Cookie-Einstellungen jederzeit hier ändern: Datenschutz. Impressum

Zurück