WordPress: Hinzufügen von Shortcode-Button im TinyMCE

Sehr praktisch zum Arbeiten für Redakteure sind Button für eigene angelegte WordPress Shortcodes. Diese können im TinyMCE-Editor wie folgt ergänzt und mit Dashicons verschönert werden.

Der Shortcode für dieses Beispiel lautet:

Das PHP Snippet für die functions.php:

Das JavaScript Snippet für die dashboard.js (der Dateiname ist nur ein Beispiel) sollte auch nur im Dashboard geladen werden:

Quellen und Links

WordPress Hock: Current Page Number in wp_link_pages()

Wie man die aktuelle Seitenzahl in der Funktion wp_link_pages() markiert. Diese WordPress-Funktion gibt ansonsten alle Seitenzahlen als Link und ohne Kennzeichnung der aktuellen Seite aus. Anschließend kann sie über die CSS-Klassse .current gesondert gestylt werden.

Dieses WordPress Snippet könnt ihr einfach in die functions.php des Themes einfügen. Getestet mit WordPress-Version 4.8.

Um die aktuelle Seitenzahl zu bestimmen, ist die Variable $page nötig, die ihr in die Funktion mit global einbinden müsst.

  • The $page global variable returns the current page of a multi-page post.
  • The $numpages global variable returns the total number of pages in a multi-page post.

Die Ausgabe der Funktion wp_link_pages() erfolgt in dieser Form:

Beispiel: Pages: 1 | 2 | 3 | 4

Möchte ihr zur nächsten oder vorherigen Seite verlinken verwendet ihr diese Funktion in dieser Form:

Beispiel: Vorherige Seite | Nächste Seite

Quellen und Links

WordPress: FlexSlider in Standard-Galerie Shortcode [gallery] ersetzen

Die Standard-Galerie in WordPress wird durch das Shortcode gallery erzeugt. Für die Ausgabe kann man dieses durch einen Slider (z.B. den bliebten jQuery FlexSlider von WooThemes) ersetzen.

Wir haben es getestet und in einem Projekt umgesetzt.

Quellen und Links

WordPress Theme: Menüs registrieren und ausgeben

In WordPress lassen sich sehr einfach eigene Menüs in einem WordPress Theme registrieren und an beliebiger Stelle im Theme (z.B. in Header oder Footer) ausgeben. Die Funktionen register_nav_menus() und wp_nav_menu() sind die bequeme Basis dafür.

WordPress Menü registrieren

Mit folgendem Snippet in der functions.php können neue Menüs (footer-menu und header-menu) in einem WordPress Theme registriert werden. In dem PHP Array array(Menu 1, Menu 2, …, Menu n) kann dies sehr schnell um sehr viele Menüs ergänzt werden.

WordPress Menü ausgeben

Die Ausgabe der Menüs erfolgt über die Funktion wp_nav_menu() an der Position, wo es ausgegeben werden soll, z.B. in den Template-Dateien footer.php oder header.php.

Quellen und Links

WordPress Theme: Widget Area hinzufügen

WordPress Widget Areas sind eine ideale Möglichkeit neue Bereiche in der Webseite (korrekt im jeweiligen WordPress Theme) zu schaffen, um Inhalte (auch optional) einzufügen oder später zu bearbeiten.

What is Widgetizing?

Widgetizing is a pseudo word that describes the process of implementing Widgets and Widget Areas into your Theme.

Ursprünglich war das Widgetizing für die Blog-Sidebar gedacht, es ist jedoch an jeglicher Stelle im Theme möglich, durch eine Widget Area einen neuen Platzbereich zu schaffen. In dieser Widget Area können alle zur Verfügung stehenden Widgets (Text-Widget, Individuelle Menüs oder andere spezielle Widgets von externen Plugins) integriert werden.

WordPress Widget Area registrieren

Sobald dieses Snippet in die functions.php des Themes eingefügt ist, steht dieser neue Widget Bereich im Backend unter Themes > Widgets für alle angelegten Widgets bereit und kann mit diesen gefüllt werden. Von diesen Dynamic Sidebars können unzählig viele registriert werden, allerdings mit eigener ID (intern wichtig) und Namen (dieser wird im Backend ausgegeben). Eine Beschreibung und weitere Parameter (class, before_widget etc.) können optional ergänzt werden.

Widget Area im Theme ausgeben

Die Widget Area (Dynamic Sidebar) kann im Theme in die verschiedenen Templates (z.B. sidebar.php, header.php oder footer.php) mit folgendem Snippet platziert werden. Mit der if-Bedingung vorweg wird geprüft, ob die Sidebar aktiv ist, also ein Widget enthalten ist.

Du hast Tipps, Vorschläge oder Fragen dazu? Dann schreibe uns einen Kommentar unter diesen Beitrag!

Quellen und Links

WordPress Login wp-login.php schützen und verstecken

Um sich mit WordPress vor hartnäckigen Brute Force Attacks zu schützen, ist es eine effektive Lösung das WordPress-Login und dem direkten Zugang unter wp-login.php zu verstecken.

Problem:

Standardmäßig findet sich das WordPress Login bei jeder normalen Installation unter domain.tld/wp-login.php. Dies ist für einen Angreifer natürlich ein gefundenes Eingangstor und sie müssen sich lediglich um den Benutzernamen (kann relativ einfach gefunden werden) und das Passwort (mit viel Rechenleistungen ist auch dies knackbar) kümmern. Etwas sportlich formuliert, steht dann das Backend offen.

Lösung:

Um jetzt das Eingangstor zu verlegen, könnt ihr das kostenfreie WordPress Plugin WPS Hide Login verwenden. Dieses unterbindet den direkten Zugriff auf den /wp-admin/ und die Login-Datei wp-login.php und leitet auf eine gewünschte Alterativadresse um. Dazu könnt ihr im Backend unter Einstellungen > Allgemein einen neuen Pfad angeben, z.B. domain.tld/mein-backend-zugang/.

Fertig und vor allem sehr schnell erledigt!

Sehr praktisch: Das Plugin WPS Hide Login ist auch Multiuser-tauglich und somit auch für größere WordPress-Netzwerke zu verwenden.

Wichtig:

  1. Ihr solltet euch unbedingt den neuen Pfad merken, ansonsten findet ihr selbst den Weg ins Backend nicht mehr. Alternativ könnt ihr natürlich in der Datenbank nachschauen.
  2. Bei einer ersten Installation solltet ihr ggf. den Cache ausreichen leeren (z.B. beim W3 Total Cache), um auch den neuen Pfad zum WordPress Login zu erreichen.
  3. Nicht zu unterschätzen: Neben diesem Plugin solltet ihr weitere Sicherheitsmaßnahmen (allen voran sichere Passwörter!) verwenden.

Quellen und Links

WordPress: Zufallszahl mit wp_rand()

Manchmal muss der Zufall helfen. Im WordPress Core hilft die Funktion wp_rand() für eine zufällige, ganze Zahl. Diese einfache und dennoch manchmal nützliche Funktion generierte aus einem minimalen und maximalen Wert (einem beschränkten Intervall) eine Zufallszahl.

Beispiel:

Dieses Code-Snippet gibt bei jedem Aufruf eine Zahl zwischen 1 und 99 aus. Minimal- und Maximalwert können dabei beliebig verändert werden. Der Standardwert fürs Minimum ist 0, fürs Maximum 4294967295. Der Rückgabewert ist eine ganze Zahl (integer).

Wer mehr dazu wissen möchte, liest im WordPress Codex nach.

PHP Warning: Illegal String Offset Error

Nach der Umstellung von PHP 5.4 und höher immer mal wieder eine Fehlerursache: PHP Warning: Illegal string offset.

Beispiel:

PHP Fehlerausgabe: Warning: Illegal string offset in [‚index‘] in www/root/file.php:28.

Lösung:

Erst das Array prüfen und dann den Index abfragen. Fertig!

Weitere Lösungen, auch speziell für WordPress, sind unter Fix PHP Illegal String Offset Error zu finden.

 

WPML: WordPress Datumsformat übersetzbar machen

Mit folgendem Snippet lässt sich das Standard-Datumsformat von WordPress mit WPML übersetzbar machen.