Zum Inhalt springen

WordPress Plugins von Updates ausschliessen

Ich nutzte seit geraumer Zeit das Plugin „a year before“, um Artikel anzeigen zu lassen, die ich vor x-Jahren hier auf diesem Blog veröffentlicht habe. Ich „muss“ aber die Version 1.0.0 verwenden, da die aktuelle Version sich nicht mehr mit meinem eingesetzten WordPress-Theme „Twenty Seventeen“ verträgt – da zerschiesst es mir das CSS und das schaut nicht wirklich gut dann aus.

Im Footer-Bereich meiner Webseite ist in der rechten Spalte ein „Rückblick“ zu sehen, der Artikel anzeigt, die am heutigen Tag vor x Jahren hier veröffentlicht wurden.

Nun hat es mich irgendwann genervt, dass mit das WordPress-Backend jeden Tag angezeigt hat, das es für dieses besagte Plugin doch ein Update gäbe und somit habe ich mich auf die Suche begeben, wie ich den diesen Hinweis weg bekommen könnte.

Fündig geworden von ich auf dieser Webseite, wo beschrieben wird, wie man mittels einem PHP Code-Schnipsel einzelne Plugins von dem Update-Zyklus ausklammern kann.

Der Code ist ziemlich kompakt und die Idee ist simple. WordPress checkt gelegentlich die installierten Plugins nach Update und fragt dabei im WordPress.org Repository nach. Das Plugin nutzt diesen HTTP Request aus. Dabei wird der Filter-Hook http_request_args verwendet. Jeder HTTP Request, den WordPress absetzt, läuft über diesen Filter. Dabei wird als erstes geprüft, ob es sich um einen Update Check handelt. Wenn das der Fall ist, werden die Plugins aus der Liste gestrichen für die keine Updates gesucht werden sollen.

Quelle: https://webschale.de/2016/plugins-von-updates-ausschliessen/

Im Grunde ist die Verwendung sehr einfach, wenn man mal kapiert hat, was man machen soll. Ich versuch das hier mal in einfachen und kurzen Worten zu erklären.

  1. Man nimmt nachstehenden Code und kopiert ihn in eine Text-Datei.
<?php
/*
 * Plugin Name:     Lock plugin updates
 * Description:     Prevent plugin updates
 * Version:         1.0.0
 * Author:          daggerhart
 */
add_filter( 'http_request_args', 'lock_plugins_http_request_args', 5, 2 );
/**
 * Prevent lookup of certain plugin updates
 * Source: https://markjaquith.wordpress.com/2009/12/14/excluding-your-plugin-or-theme-from-update-checks/
 *
 * @param $request
 * @param $url
 *
 * @return mixed
 */
function lock_plugins_http_request_args( $request, $url ) {
    if ( FALSE === strpos( $url, '//api.wordpress.org/plugins/update-check' ) ) {
        return $request; // Not a plugin update request. Bail immediately.
    }
    if ( empty($request['body']['plugins']) ){
        return $request;
    }
    $plugins = json_decode( $request['body']['plugins'], true );
    // get a list of locked plugins from somewhere
    $locked_plugins = apply_filters('lock_plugins-locked_plugins', array());
    foreach( $locked_plugins as $locked_plugin_basename )
    {
        $active_index = array_search( $locked_plugin_basename, $plugins['active'] );
        unset( $plugins['active'][ $active_index ] );
        unset( $plugins['plugins'][ $locked_plugin_basename ] );
    }
    $request['body']['plugins'] = wp_json_encode( $plugins );
    return $request;
}

2. Die folgendenden Zeilen kopiert man ebenfalls und fügt sie am einfachsten der Datei an, die man soeben mit dem obigen Code angefangen/erstellt hat.

add_filter('lock_plugins-locked_plugins', function($plugins){
  $plugins[] = 'a-year-before/ayb_posts.php';

  return $plugins;
});

Hier in meinen Beispiel steht bereits in der zweiten Zeile der Pfad zu dem besagten Plugin (a-year-before) drinnen, welchen ich einfach mittels eines FTP-Clients mir gesucht habe.

3. Diese (reine) Textdatei speichert man nun lokal (zum Beispiel auf dem Desktop) ab – ich habe z.B. den Namen „lock-plugin.php“ verwendet – und überträgt diese Datei per FTP auf seinen Webserver in der WordPress-Plugin-Verzeichnis.
(wp-content/plugins/).

4. Nun muss man nur noch im WordPress-Backend unter den „installierten Plugins“ dieses aktivieren und schon sollten keine Updates mehr für die oben eingetragenen Plugins mehr abgerufen und angezeigt werden.

Anmerkung:
Bei mir war es so, dass trotz aktiviertem „Lock Plugin Updates“-Plugin mir angezeigt wurde, dass es für das „a year before“-Plugin ein Update gäbe. Ich vermute mal, dass lag daran, dass dieser Hinweis bereits vorhanden war, bevor ich das Lock-Plugin aktiviert habe.
Ich habe dann zu diesem Zweck das „a year before“-Plugin kurzer habe gelöscht und die Version 1.0.0 einfach per FTP wieder hochgeladen. Und seither ist dieses Update-Hinweis nun auch bei mir verschwunden.

B’soffene Marille von der Privatdestillerie Hellerschmid

Neulich hatten wir diese Marillen in Likör und die sind wirklich lecker. Damit ich mir den Hersteller und die Webseite nicht merken muss und diese vielleicht auch in ferner Zukunft wieder finde, sei hier ein Bookmark erstellt. 😉

Produktbeschreibung:
Unser Klassiker – die B’soffene Marille – knackige Marillen in Likör eingelegt – die wohl angenehmste Art Marillen zu konservieren. Lässt sich nicht nur sehr gut trinken – die Verwendung geht hin bis zur Grillbeilage. Gerne schicken wir Ihnen unser Rezeptheft!

Preise:
B’soffene Marille 19 % vol., 0,75 Liter: € 17,00
B’soffene Marille 19 % vol., 1,5 Liter: € 29,00

Bezugsquelle:
Die Wachauer Privatdestillerie Hellerschmid e. U.
Missongasse 33, 3500 Krems
Tel: (+43) 2732 831 84
Büro Öffnungszeiten:
Mo. – Do.: 7 – 12, 13 – 16 Uhr, Fr.: 7 – 12 Uhr
Mail: info@hellerschmid.com

Shop für Deutschlang: https://hellerschmid.com/de/shop/   

Shapeoko 2: Fotos vom Januar 2019

Ich habe meine Shapeoko 2 Fräse nun ziemlich genau 2 Jahre und in dieser Zeit habe ich ein paar Modifikationen daran vorgenommen. Ich hab mal am vergangenen Samstag ein paar Fotos gemacht, damit man vielleicht ein wenig nachvollziehen kann, was ich alles umgebaut habe. Und ausserdem kann ich selber die Fotos ganz gut gebrauchen, da ich immer wieder was erklären soll und da tut man sich mit einem passenden Foto einfach leichter. 😉