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 …

WordPress auf HTTPS (SSL-Verschlüsselung) umstellen

Sicher ist sicher. Daher rät sich eine Umstellung aller WordPress Webseiten auf die SSL-Verschlüsselung (möglichst TLS 1.2) über das verschlüsselte Protokoll HTTPS. Durch dieses Verfahren werden Daten verschlüsselt und sicher (durch Datenintegrität und Authentifizierung) übertragen. Ein nicht zu unterschätzender Fakt: Auch Suchmaschinen bevorzugen diese Verschlüsselung bei ihrem Ranking. Vorbereitung Vor der Umstellung benötigt man ein digitales SSL …

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 …

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: Ausgabe einer Zufallszahl zwischen 1 und 99 echo wp_rand(1,99); Dieses Code-Snippet gibt bei jedem Aufruf eine Zahl zwischen 1 und …

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: if( $array[‚index‘] !== “ ){ PHP Fehlerausgabe: Warning: Illegal string offset in [‚index‘] in www/root/file.php:28. Lösung: if( is_array($array) && $array[‚index‘] !== “ ){ Erst das Array prüfen und dann den Index abfragen. Fertig! Weitere Lösungen, auch speziell für WordPress, sind unter Fix PHP …

WordPress: E-Mail, wenn eine Beitrag aktualisiert wurde

Wer ihr mit mehreren Mitarbeitern an einem Blog schreibt oder arbeitet, möchte ihr auch auf dem neuesten Stand der Beiträge bleiben. Folgendes Snippet schickt eine E-Mail an den Administrator, wenn ein Beitrag aktualisiert wurde. Manchmal hilfreich, wenn zu viele Änderungen anstehen, kann es auch zu einer Meldungsflut kommen. Wer es braucht, kann diesen Code verwenden, austesten oder auch …

WordPress: 503 Error nach Upload großer Bilddateien

Eine sehr versteckte Sicherheitseinstellung führt bei Strato-Hosting-Paketen zu einem HTTP-Fehler nach dem Hochladen von großen Dateien, z.B. Bilder. Dabei nützt es auch nicht alle möglichen PHP-Werte bei Strato über .htaccess oder die php.ini zu erhöhen. Folgender Fehler wird nach dem Upload über die Mediathek, sowohl über den Browserupload und die praktische Mehrfachauswahl, erzeugt. 503 Service Temporarily Unavailable The server …

WordPress: Suchergebnisse filtern, Posts oder Pages ausschließen

Bei der Standardsuche in WordPress werden automatisch alle Beiträge (Posts) und Seiten (Pages) durchsucht und bei einem Treffer ausgegeben. Um diese internen Suchergebnisse vorab zu filtern und nur eine von beiden Beitragstypen zu durchsuchen, könnt ihr folgenden Filter in die functions.php eurer WordPress Themes einsetzen. function custom_search_filter($query) { if ($query->is_search) { $query->set(‚post_type‘, ‚post‘); } return $query; …

WordPress Core Funktion existiert im WordPress Theme

Nach dem Update von WordPress 4.2 fanden wir den Fall vor, dass eine Funktion im WordPress Code neu hinzukam, die auch im verwendeten Theme schon definiert war. Fatal error: Cannot redeclare get_avatar_url() (previously declared in /home/blog/wordpress/wp-includes/link-template.php:3414) in /home/blog/wordpress/wp-content/themes/…/functions.php on line 123 Um diese Problem auszuschließen, bietet sich bei neuen Funktionen im Theme die Prüfung an, ob …