Sidebar
ein-/ausblenden

Update Prüfung für Themes entfernen

Plugin für WordPress SEO

Anzeige

WP Adventskalender 16
Ich hatte das Thema hier schon mehrfach (und in Türchen Nr. 12) - der Update-Check von WordPress ist nicht in jedem Fall sinnvoll und kann Last kosten, die man anders gebrauchen kann. Ich klemme je nach Anforderung den Cron ab und via Hook sorge ich dafür, dass das Update auf diverse Themen nicht mehr läuft.

Mark Jaquith stellt zwei sehr schöne Lösungen vor, wie man in Plugins und Themes als Autor den Update-check abklemmt. Viele Blogs nutzen Themes, welche selbst geschrieben sind, oder welche kein Update erhalten können. Insofern ist vor allem die Lösung für die Themes sehr nützlich.

Sie ist schnell in die functions.php des jeweiligen Themes integriert und so muss man sich nicht mehr in den Einstellungen des Blog darum kümmern. Gerade im Hinblick auf Themes für Kunden, welche sicher kein automatisches Update bekommen, ist diese kleine Funktion ein Mehrwert und gehört daher in die Arbeit aufgenommen.


function cws_hidden_theme_12345( $r, $url ) {
	if ( false !== strpos( $url, 'http://api.wordpress.org/themes/update-check' ) )
		return $r; // Not a theme update request. Bail immediately.

	$themes = unserialize( $r['body']['themes'] );
	unset( $themes[ get_option( 'template' ) ] );
	unset( $themes[ get_option( 'stylesheet' ) ] );
	$r['body']['themes'] = serialize( $themes );
	return $r;
}

add_filter( 'http_request_args', 'cws_hidden_theme_12345', 5, 2 );

Mark stellt in seinem Beitrag ebenso eine Lösung für Plugins vor, die ich ebenso sinnvoll finde; gerade bei Plugins für explizite Kundenwünsche finde ich das wichtig und so kommt man auch nicht in Kollision, wenn es ein Plugin im SVN gibt/entsteht, was den gleichen Namen trägt.

7 Kommentare zu „Update Prüfung für Themes entfernen“

  1. 1
    Kommentar von Klaus

    Der Name des Themes muss in dem Code aber eingefügt werden, oder?
    Also die beiden cws_hidden_theme_12345 umbenennen?

  2. 2
    Kommentar von Frank Bültge

    @Klaus: nein, es sollte lediglich ein Name sein, der einen gesicherten Namensraum im Theme hat, so dass es keine Kollision mit anderen Funktionen gibt.

  3. 3
    Kommentar von Crazy Girl

    Ich habe in meiner functions.php den Theme Update wie aus einem älteren Beitrag von Dir ausgeschaltet:
    remove_action( 'load-themes.php', 'wp_update_themes' ); //Remove Theme Update
    remove_action( 'load-update.php', 'wp_update_themes' ); //Remove Theme Update
    remove_action( 'admin_init', '_maybe_update_themes' ); //Remove Theme Update
    remove_action( 'wp_update_themes', 'wp_update_themes' ); //Remove Theme Update
    add_filter( 'pre_transient_update_themes', create_function( '$a', "return null;" ) ); //Remove Theme Update

    Wenn ich diese Funktion hier zusätzlich noch in meine functions.php eingebe, dann dürfte das doch "doppelt gemoppelt" sein, oder?

  4. 4
    Kommentar von Frank Bültge

    Die Lösung hier im Beitrag sorgt dafür, dass nur dieses eine Theme nicht geprüft wird; während mein Hinweis damals explizit alle Updates ausschaltet. Hier muss man schauen, wie man es haben will.

  5. 5
    Kommentar von Crazy Girl

    Da ich meine Themes eigentlich immer alle selbst schreibe, ist es für mich *genial* die Updateprüfung komplett auszuschalten. Danke :-)

  6. 6
    Kommentar von Mano

    Kommt mir auch gerade recht. Ich schreibe meine Themes nicht selbst (Weiss nicht mal wie das geht) aber Ich mache Sie doch selbst mit Artisteer. So weit Ich weiss gibt es dafür auch keine Updates.
    Die ständigen Updates finde Ich sowieso einen Alptraum.

  7. 7
    Kommentar von Jens

    Cool..
    dass ist genau dass was ich gesucht habe..=)
    nach mehreren seiten die ich jetzt durchsucht habe..
    hab ich hier genaue beschreibungen bekommen..
    dank und gruß Jens

Kommentar schreiben

Kommentarregeln: Bleib cool, kritisch ist in Ordnung, aber wenn du unhöflich bist, dann lösche ich deinen Kommentar. Bitte benutze deinen persönlichen Namen oder Initialen und nicht den Namen eines Unternehmens, dies würde als Spam gewertet und wird gelöscht. Der Zusammenhang zwischen Namen und URL sollte nicht offensichtlich auf Spam hindeuten! ♥ Ansonsten, vielen Dank für den Kommentar und viel Spaß mit meinem Blog.

Kommentar-Hilfe

händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.

Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.

xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>

Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als &lt; und > als &gt; einfügt.

E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.

Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.

Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.

Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.