seeseekey.net - Invictus Deus Ex Machina

Manchmal schreibt man Beiträge, welche nicht im weiteren Strom der Beiträge untergehen sollen — diese Beiträge kann man unter WordPress fixieren. Damit bleiben sie immer ganz oben und werden nicht von neuen Beiträgen verdrängt.

Das QuickEdit Fenster

Möchte man unter WordPress einen Beitrag fixieren, so muss im Backendmenü der Punkt Beiträge -> Alle Beiträge ausgewählt werden. Anschließend wählt man beim entsprechenden Beitrag den Link QuickEdit aus. Im QuickEdit Fenster findet man auf der rechten Seite die Option Diesen Beitrag oben halten. Sobald diese aktiviert ist, ist der Beitrag fixiert.

Bis WordPress 3.8 war es möglich ein Theme über die Theme-Verwaltung im Backend zu löschen. In neueren WordPress Versionen findet man direkt in der Theme-Verwaltungkeinen Link mehr zum Löschen des Themes.

In den Theme Details findet sich der Link zum löschen

Stattdessen wurde der Link etwas verlegt. Um ein Theme zu löschen, müssen im ersten Schritt die Theme Details für das gewünschte Theme aufgerufen werden. Dazu geht man mit der Maus einfach auf das Vorschaubild des Themes und klickt auf den eingeblendeten Link. Anschließend kann man das Theme in den Theme Details löschen.

Vor ein paar Tagen schrieb ich eine iCal-Erweiterung für bestehendes WordPress-Plugin, welches unter anderem die Feed-API von WordPress nutzte. Bei der Entwicklung stellte sich allerdings heraus, das eine Änderung im Code, nicht gleich eine Änderung in den entsprechenden Feeds nach sich zog. Ursache für dieses Problem war der eingebaute Feed-Cache von WordPress. Mit einem kleinen Funktion im Plugin, konnte dieser allerdings für Debug-Zwecke abgeschaltet werden:

function getFeedCacheTime($seconds) 
{
    return 1;
}

add_filter('wp_feed_cache_transient_lifetime', 'getFeedCacheTime');

Die Funktion getFeedCacheTime gibt dabei die maximale Cache-Zeit an — in diesem Fall eine Sekunde, so das der Cache faktisch deaktiviert ist und die Entwicklung ohne störende Wartezeiten weiter betrieben werden konnte.

Wenn man eine WordPress-Installation mit dem Google Authenticator Plugin absichert, muss ein zusätzlicher Code beim Login eingegeben werden. Dies erhöht die Sicherheit der Installation, führt allerdings zu einem Problem beim Login mit der WordPress App für iOS oder Android. Der Login in der WordPress App funktioniert nicht, da ein zusätzlichen Token erwartet wird.

Die entsprechenden Einstellungen im WordPress Backend

Lösen kann man das Problem indem man ein App password in den Nutzereinstellungen von WordPress vergibt. Dieses Passwort wird dann in der App anstelle des normalen Passwortes genutzt. Damit funktioniert der Login über die App wieder.

Der „Markt“ der Starter-Themes für WordPress ist relativ groß. Gemeint sind damit Themes, welche als Ausgangspunkt für neue Themes genutzt werden können. Diese Themes verfügen dann über die notwendigen Basisfunktionen um das Theme möglichst schnell an die eigenen Wünsche anzupassen.

underscores.me

Mit underscores.me gibt es einen Dienst welcher ein solches Starter-Theme erzeugt. Underscores wird dabei von Automatic, der Firma hinter WordPress unterstützt. Auf der Webseite erhält man nach der Eingabe des gewünschten Namens, eine ZIP-Datei in welcher sich das Theme befindet. Lizenziert ist das Underscores-Theme unter der GPL in der Version 2.

WordPress verfügt über ein mächtiges Plugin-System. Die Plugin lassen sich ohne Probleme über die eingebaute Pluginverwaltung installieren. Problematisch wird es wenn Plugins aus dem WordPress Plugin Directory entfernt werden oder veraltet sind. Die Gründe für einen solchen Ausschluss aus dem Verzeichnis sind dabei vielfältig, so können zur GPL inkompatible Lizenzen oder Sicherheitslücken zu einem Rauswurf führen.

Eine beispielhafte Auswertung

Mit No Longer in Directory gibt es nun ein Plugin, welches die installierten Plugins daraufhin überprüft. Wenn man die Pluginseite aufruft, werden die Plugins aufgelistet welche nicht mehr im WordPress Plugin Directory vorhanden sind. Daneben gibt es eine Liste von Plugins welche länger als zwei Jahre nicht mehr aktualisiert wurden.

Bei einer WordPress Multisite-Installation gibt es unter Updates den Punkt Netzwerk aktualisieren. Wenn man seine Multisite-Installation mit selbstsignierten Zertifikaten betreibt, kann es dabei zu folgender Fehlermeldung kommen:

https://wordpress.example.com/mysite1

Warnung! Problem beim aktualisieren von https://wordpress.example.com/mysite1. Vermutlich gab es einen Zeitablauf. Die Fehlermeldung lautet: SSL certificate problem: self signed certificate

Um das Problem zu lösen packt man folgendes Plugin, in den WordPress-Plugin-Ordner:

<?php
/*
* Plugin Name: Deactivate SSL Verify
* Description: Deactivate SSL verification
* Author: seeseekey
* Author URI: http://seeseekey.net
* Plugin URI: http://seeseekey.net
*/
add_filter('https_ssl_verify', '__return_false');
add_filter('https_local_ssl_verify', '__return_false');

Nachdem das Plugin aktiviert wurde, kann die Aktualisierung des Netzwerkes durchgeführt werden. Anschließend kann das Plugin wieder deaktiviert werden.

Eine Multisite-Wordpress-Installation ist ein WordPress welches verschiedene Domains mit unterschiedlichen Inhalten aka Webseiten bespielt. Unter Umständen kann es vorkommen, das man diese WordPress-Installation von einer Domain auf eine andere Domain umziehen möchte. Leider lässt sich die Domain, auf welcher das Multisite-Wordpress installiert wurde, nicht einfach ändern.

Die Netzwerkeinstellungen einer WordPress Multisite Installation

Stattdessen muss man die Änderungen an der Datenbank vornehmen. Im ersten Schritt sollte ein Backup der Datenbank erzeugt werden. In der resultierenden SQL-Datei werden dann alle Erwähnungen der alten Domain durch die neue Domain ersetzt. Diese geänderte SQL-Datei kann dann in eine neue oder in die bestehende (nachdem die alten Tabellen vorher gelöscht wurden) Datenbank importiert werden. Als letzter Schritt muss die wp-config.php angepasst werden. Dort findet sich der Punkt:

define('DOMAIN_CURRENT_SITE', 'example.com');

An diesem Punkt muss die neue Domain eingetragen werden. Eventuell muss man an dieser Stelle auch die Zugangsdaten für die Datenbank ändern, wenn man die SQL-Datei in eine neue Datenbank importiert hat.

Manchmal ist es nötig unter WordPress bestimmte Dinge in der gesamten Datenbasis zu ändern. Hierbei kann es sich um eine geänderte URL, einen geänderten Projektnamen oder ähnliches handeln. Natürlich macht es nun kein Spaß alle Seiten und Beiträge zu durchsuchen. Bei größeren Blogs und Webseiten können durchaus einige tausend Beiträge vorhanden sein.

Ein Teil der Nutzeroberfläche von Search and Replace

Hier steht das Plugin Search and Replace hilfreich zur Seite. Mit Hilfe dieses Plugins ist es möglich bestimmte Ausdrücke systemweit zu ersetzen. Natürlich sollte man bei so einem mächtigen Tool vorsichtig sein und es nur nach einem Backup der WordPress-Datenbank nutzen. Bezogen werden kann das Plugin direkt über die Pluginverwaltung sowie über das Plugin Repository. Lizenziert ist Search and Replace unter der GPL und damit freie Software.

Der Veröffentlichen-Button im WordPress-Editor ist groß und auffällig gestaltet. Manchmal führt dies dazu, das man den Button drückt obwohl der Artikel noch nicht veröffentlicht werden soll. Falls dies öfter geschieht, kann das Problem mit dem Plugin Publish Confirm aus der Welt geschafft werden.

Publish Confirm in Aktion

Publish Confirm schaltet vor die Veröffentlichung noch einen Dialog, der beim Nutzer fragt ob diese Aktion wirklich beabsichtigt war. Das Plugin kann direkt über die WordPress Plugin Verwaltung installiert werden oder über das WordPress Plugin Repository bezogen werden. Der unter der GPL lizenzierte Quelltext ist auf GitHub zu finden.