WordPress Tips und Tricks

WordPress Multihome

Du moechtest Deine Seite unter mehreren Domainnamen hosten und das ganze ohne Weiterleitung? Fuege diese Zeiten in die wp-config.php ein:

/**
* Handle multible domains with single WordPress
*/
define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);

Hinweis: einige Plugins erfordern fuer jeden Domainnamen eine eigene Lizenz. Ausserdem solltest Du in deinen Cookie-Hinweisen alle konfigurierten Domains aufnehmen, beispielsweise in der Borlabs Cookie Solution.

Domain-Umzug in der Datenbank aendern

Du moechtest die Domain deiner WP-Instanz aendern und nun zeigen die Links in Posts und Beitraegen noch auf die alte Seite?

UPDATE wp_posts SET guid = replace(guid, '[alteURL]','[neueURL]');
UPDATE wp_posts SET post_content = replace(post_content, '[alteURL]','[neueURL]');
UPDATE wp_postmeta SET meta_value = replace(meta_value, '[alteURL]','[neueURL]');

WordPress Multisite

Die Einrichtung einer WordPress Multisite ist durch einfuegen weniger Zeilen in wp-config.php erledigt.

/** Multisite START **/
define( 'WP_ALLOW_MULTISITE', true );
/** Multisite END **/

Deaktiviere nun zunaechst alle Plugins. Danach findest Du unter Werkzeuge den Punkt Netzwerk einrichten. Folge den Anweisungen.

Fuer jede Site muss nun ein DNS-Alias eingerichtet werden und das DOCUMENT_ROOT muss auf den Pfad zeigen, in dem auch der Master liegt.

CORS

Fuege diesen Text in die .htaccess ein:

# BEGIN CORS fix for local fonts
 <IfModule mod_headers.c>
   <FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$">
    Header set Access-Control-Allow-Origin "https://terruhn.it" (HIER DOMAIN REIN, ODER BEI MULTISITE ein *)
  </FilesMatch>
</IfModule>
# END CORS fix for local fonts

Shortcodes Ultimate

Im Editor wird die Moeglichkeit, Shortcodes einzufuegen nur bei Admins angezeigt. Das passiert, weil mit Shortcodes auch Bloedsinn gemacht werden kann. Um das auch weniger priviligierten Rollen zu ermoeglichen, setze in der options tabelle den Wer fuer su_option_generator_access auf edit_posts. Aber vorsicht, sei gewarnt. Tu dies nur bei vertrauenwuerdigen Nutzerkreisen.

update wp_options set su_option_generator_access = 'edit_posts';

RSS Refresh Rate

Passe die RSS Refresh Rate an mit einem kleinen Code Snippet:

add_filter( 'wp_feed_cache_transient_lifetime', create_function('$a', 'return 600;') );

Cronjobs auslagern

WordPress braucht automatisch ausgefuerhte Jobs. Das erledigt WordPress normalerweise bei jedem einzelnen Seitenaufruf mit. Das kostet Performance, ist ja klar.

Diese Cron Jobs kannst Du leicht auslagern in explizite Aufrufe:

Deaktiviere den eingebauten Cron in der wp-config.php. Fuege dies nach den wichtigen Standard Variablen, weit am Ende der wp-config.php ein:

/**
 * Disable wp_cron for normal frontend usage and use a cronjob to call it individually instead.
 */
define( 'DISABLE_WP_CRON', true );

Optional kannst Du ein htpasswd setzen um den Aufruf zu schuetzen.

Rufe wp-cron.php explizit auf aus einer Cron Loesung Deiner Wahl.

Das ganze gibts auch ausfuehrlich dokumentiert bei dem Hoster meines Vertrauens.