WordPress functions.php: Einstellungen & Tricks für Themes
Optimierung von WordPress-Themes
Säubern der wp_head-Funktion
Sinnvoll ist der folgende Filter, der die automatisch eingefügten Links für RSD, Windows Live Writer und die Versionsnummer im Quelltext im -Bereich bereinigt. Vor allem die WordPress-Versionsnummer sollte man nicht so offen kommunizieren, da Hacker dank der Versionsnummer schneller wissen, ob ein Blog auf einer veralteten WordPress-Version basiert mit Lücken und Löchern.
// Really simple discovery link beseitigen
remove_action('wp_head', 'rsd_link');
// Windows Live Writer link beseitigen
remove_action('wp_head', 'wlwmanifest_link');
// Anzeige der Versionsnummer im Quelltext beseitigen
remove_action('wp_head', 'wp_generator');
HTML in Benutzerprofilen erlauben
Ein sehr hilfreicher Filter, der Links in den Autoren-Profilen erlaubt ist der folgende.
// HTML in Benutzerprofilen erlauben
remove_filter('pre_user_description', 'wp_filter_kses');
Geschwungene Anführungszeichen entfernen
Nervig sind oft die – typografisch einwandfreien – geschwungenen Anführungszeichen. Besonders, wenn man Quellcode-Beispiele in seinen Artikel hat, führen die Anführungszeichen beim Kopieren zu Fehlern.
// Entferne die geschwungenen (deutsche) Anfuehrungszeichen
// bei Artikeln und Kommentaren
remove_filter('the_content', 'wptexturize');
remove_filter('comment_text', 'wptexturize');
RSS-Cache-Lebenszeit verkürzen oder verlängern
Baut man zum Beispiel einen Twitter-RSS-Feed in sein Blog ein, so ist eine verkürzte RSS-Cache-Lebenszeit hilfreich. Denn so frischt WordPress in kürzeren Intervallen den Cache auf.
// Verändern der Cache-Lebenszeit der Klasse SimplePie // (wichtig für RSS-Widgets & Co.) add_filter( 'wp_feed_cache_transient_lifetime', create_function( '$a', 'return 3600;' ) );
Verhindern, das der visuelle Editor TinyMCE beim Hin- und Herschalten iframes löscht
Blöd, wenn man z.B. Amazon-iframes in seinen Artikel einbaut, um den Lesern die Möglichkeit zu bieten, ein Buch über den eigenen Affiliate-Link zu laufen. Wechselt man nämlich ohne die folgende Funktion im Editor zwischen HTML- und Visueller Version, löscht TinyMCE den iframe. Mit dem folgenden Filter nicht mehr.
// Verhindern, das der visuelle Editor TinyMCE
// beim Hin- und Herschalten iframes löscht
function add_iframe($initArray) {
$initArray['extended_valid_elements'] = "iframe[id|class|title|style|align|frameborder|height|longdesc|marginheight|marginwidth|name|scrolling|src|width]";
return $initArray;
}
add_filter('tiny_mce_before_init', 'add_iframe');