Category: wordpress

Auto-Updates in WordPress deaktivieren

25.10.2013 yahe administration legacy wordpress

Mit WordPress 3.7 hielt ein neues Feature Einzuge, das den ein oder anderen Website-Administrator potentiell stören könnte: Die Rede ist vom neuen Auto-Update Feature des WordPress-Cores. Einige mögen sich fragen, weshalb man sich an solch einer Funktion stören könnte. Der Hindergrund ist, dass Änderungen an einer Webseite in produktiven Umgebungen wohl überlegt sein wollen. So gibt es in größeren Unternehmen Staging-Prozesse, damit unbekannter Code nicht öffentlich verfügbar gemacht wird. Bei einer Webseite, die sich automatisch selbst updatet, ist das natürlich nicht möglich. Auch für Leute, die kein Staging betreiben, ist es mitunter zumindest eine kleine Absicherung, dass sie ihre Webseite testweise durchklicken, nachdem sie ein Update eingespielt haben.

Leider gibt es in der Administrationsoberfläche keine Möglichkeit, die Auto-Update Funktion zu deaktivieren. Stattdessen muss die "wp-config.php" im WordPress-Wurzelverzeichnis angefasst werden, um die Änderungen vorzunehmen. Hier muss folgende Zeile aufgenommen werden:

define("AUTOMATIC_UPDATER_DISABLED", true);

Mit Einrichten dieser Konfigurationseinstellung muss man sich wieder selbst um das Einspielen sämtlicher Updates kümmern.


WordPress: Mailversand per SMTP

01.03.2012 yahe administration code legacy wordpress

Es kommt durchaus mal vor, dass man WordPress auf einem Server einsetzt, der keinen Mailversand über die PHP-Funktion "mail()" zulässt. In solchen Fällen muss man auf den Mailversand per SMTP zurückgreifen. Leider bietet WordPress nicht die Möglichkeit, die SMTP-Konfiguration direkt vorzunehmen. Das ist sehr schade, denn eigentlich wäre es kein großer Aufwand, dies bereitzustellen. Folgendermaßen muss man vorgehen, um WordPress dazu zu bringen, Mails via SMTP zu verschicken.

Zuerst einmal müsst ihr die SMTP-Konfiguration irgendwo hinterlegen. Ich habe dazu die Datei "wp-config.php" ausgewählt, da dort sowieso auch alle anderen, fest verdrahteten Informationen abgelegt sind. Dort habe ich die Funktion "smtp_wp_mail()" hinterlegt, die wie folgt aussieht:

function smtp_wp_mail($phpmailer) {
  $phpmailer->IsSMTP(); // telling the class to use SMTP

  $phpmailer->Host       = "smtp.example.com";      // set the SMTP server host
  $phpmailer->Port       = 465;                     // set the SMTP server port
  $phpmailer->SMTPSecure = "ssl";                   // enable SMTP via SSL
  $phpmailer->SMTPAuth   = true;                    // enable SMTP authentication
  $phpmailer->Username   = "wordpress@example.com"; // set the SMTP account username
  $phpmailer->Password   = "SECRETPASSWORD";        // set the SMTP account password
}

WordPress verwendet intern für den Mailversand die Funktion "wp_mail()", die wiederum die Bibliothek PHPMailer kapselt. PHPMailer beherrscht bereits den Versand von E-Mails über SMTP, es muss nur richtig konfiguriert werden. Um die Umkonfigurierung auch tatsächlich durchzuführen, benötigen wir nur noch ein kleines Plugin, das unsere gerade geschrieben Funktion zum richtigen Zeitpunkt aufruft:

<?php
  /*
    Plugin Name: SMTPwpMail
    Plugin URI: http://yahe.sh/
    Description: Use SMTP for WordPress mail delivery.
    Version: 0.1c1
    Author: Yahe
    Author URI: http://yahe.sh/
  */

  /* STOP EDITING HERE IF YOU DO NOT KNOW WHAT YOU ARE DOING */

  // function smtp_wp_mail($phpmailer) should be defined in wp-config.php
  add_action("phpmailer_init", "smtp_wp_mail");
?>

Mit diesen kleinen Änderungen kann WordPress nun E-Mails per SMTP versenden.


SSL-Modus für WordPress-Blogs

01.03.2011 yahe administration code legacy security wordpress

Ich persönlich mag SSL sehr, denn es ist eine einfache Methode, um ein wenig Übertragungssicherheit zu gewährleisten. Aus diesem Grund baue ich meine Angebote gerne so, dass ich SSL nutzen kann, wenn ich möchte. Leider hat WordPress damit so seine Probleme. Man kann eine Seite zwar generell via SSL aufrufen, beim Klick auf den nächsten seiteninternen Link wird man dann jedoch wieder auf eine unverschlüsselte Seite weitergeleitet.

Um dem zu entgehen habe ich das kleine Plugin OptionalSSL geschrieben. Es schreibt seiteninterne Links von HTTP-URLs in HTTPS-URLs um. Nicht berücksichtigt werden dabei externe Linkts wie z.B. über HTTP nachgeladene Skripte. Für diese erntet man dann eine entsprechende Warnung vom Browser.


SelTheme: Let the User decide!

24.11.2009 Yahe code legacy wordpress

Um zu testen, wie eine WordPress-basierte Webseite mit einem anderen installierten Theme aussieht, reicht es im Normalfall aus, der URL noch ein paar Parameter anzuhängen:

?preview=1&template=[name]&stylesheet=[name]

"[name]" steht hierbei für den Namen des Theme-Ordners, in dem sich das jeweilige Design befindet. WordPress-Themes befinden sich im Ordner "wp-content/themes/". Dort kann man auch nachsehen, welches Designs alles zur Verfügung stehen. Die Sache hat jedoch einen Haken. Diese Lösung funktioniert nur dann, wenn man bei dem entsprechenden Blog eingeloggt ist. Oft ist es jedoch so, dass man gern wissen möchte, was andere vom neuen Design halten. Diese müssten zur Beurteilung nun eigentlich einen Account bei dem entsprechenden Blog erhalten.

Alternativ kann man nun mein neues Plugin SelTheme verwenden! Es basiert auf dem User Theme Plugin von Frank Bültge. Nach dem Installieren und Aktivieren des Plugins kann man dem Blog anhand eines Parameters mitteilen, mit welchem Design er angezeigt werden soll. Das Plugin überprüft, ob der Name eines existierenden Themes angegeben wurde und kümmert sich danach um die Darstellung. Die Auswahl wird zudem in einem Cookie gespeichert, damit man den Parameter nicht jedes Mal auf's neue angeben muss. Dadurch ist es möglich, dass die Besucher einer Seite selbst entscheiden können, wie die Seite aussehen soll. Der Parameter lautet wie folgt:

?theme=[name]

"[name]" ist hier genauso definiert, wie oben. Er entspricht dem Namen des Unterordners, in dem sich das Theme befindet. Sollte der Wert "[name]" leer sein, wird davon ausgegangen, dass wieder das Default-Design verwendet werden soll.


Search

Links

RSS feed

Categories

administration (40)
arduino (12)
calcpw (2)
code (33)
hardware (16)
java (2)
legacy (113)
linux (27)
publicity (6)
review (2)
security (58)
thoughts (21)
windows (17)
wordpress (19)