Über den Author / Internet / Updatescript für WordPress Plugins

Updatescript für WordPress Plugins

~2 Min. Lesezeit

Veröffentlicht man ein eignes Plugin im WordPress Repository, werden die Blogs welche dies Plugin installiert haben automatisch informiert bei einer neuen Version.

Es gibt jedoch Regeln, welche diversen Plugins ein Hochladen in dieses Repository untersagen.
Dadurch haben diese Plugins keine automatische Benachrichtigung bei neuen Versionen und die Benutzer müssen immer manuell nachschauen und aktualisieren.

Doch hier gibt es eine Klasse die Abhilfe schafft.
Zuerst kopiert man die Datei plugin-update-checker.php (download) in das eigene Pluginverzeichnis.

ACHTUNG: Das Plugin wurde überarbeitet und daher

if (!class_exists('PluginUpdateChecker_2_2')) {
	require "plugin-update-checker.php";
}

$ExampleUpdateChecker = new PluginUpdateChecker_2_2(
	'http://api.deinedomain.ch/plugin.json',
	__FILE__,
	'EindeutigerNamenDeinesPlugins'
);

Weiterhin erstellt man nun auf der angegebenen Domain ‚http://api.deinedomain.ch/‚ die Datei ‚plugin.json‚ mit folgendem Inhalt (markierte Zeilen überarbeiten):

{
    "name" : "Plugin Namen",
    "slug" : "EindeutigerNamenDeinesPlugins",
    "homepage" : "http://api.deinedomain.ch/",
    "download_url" : "http://api.deinedomain.ch/deinplugin.zip",
    
    "version" : "x.x.x",
    "requires" : "3.0",
    "tested" : "3.4",
    "last_updated" : "2011-05-07 21:23:00",
    "upgrade_notice" : "Neue Funktionalitäten",
    
    "author" : "Dein Name",
    "author_homepage" : "http://deinedomain.ch/",
    
    "sections" : {
        "description" : "Einbinden von diversen Funktionen",
        "installation" : "Download and activate",
        "changelog" : "Please ask for a description"
    },
    
    "rating" : 80,
    "num_ratings" : 10,
    "downloaded" : 20
}

Und ladet das neueste Plugin als ‚deinplugin.zip‚ an den angegebenen Ort hoch.

So prüft WordPress all 12 Stunden automatisch mit allen anderen Aktualisierungen auch, ob eine Aktualisierung auf dem Server vorhanden wäre und bietet das AutoUpdate Feature auch gleich mit an.
Selbstverständlich könnte man diese Funktionalität in mehrere Plugins anwenden. Die benötigte Klasse muss man zwar an alle Plugins anhängen, aber wird nur einmal geladen.

Möchte man ein Update an die Blogs senden, ladet man ein aktualisiertes plugin.zip hoch und aktualisiert die Versionsnummer innerhalb der json Datei. Schon wird WordPress innerhalb der nächsten 12 Stunden ein Update anzeigen.

Selbstverständlich könnte man auch noch diverse andere Funktionalitäten einbauen wie Lizenzschlüssel, wenn richtiger Schlüssel, Updates ausgeben, sonst nicht und so weiter, indem man die json Datei dynamisch per PHP erzeugt.
Dies aber lass ich Jedem selbst überlassen das Skript zu erweitern.

About Stefan

avatar
Ein männlicher IT Nerd, durchstöbert das Web nach speziellen Gadgets, unentbehrlicher Software und Alles was man im IT Sektor nicht verpassen darf.Immer hilfsbereit wenn Probleme zu lösen sind oder das Unmögliche umgesetzt werden sollte.

Weitere interessante Artikel

PHP Trojaner (Teil 4: Codierte Uploader Infektion)

~2 Min. LesezeitNicht jeder PHP Trojaner kann auf den ersten Blick identifiziert werden, was der …

PHP Trojaner (Teil 3: Spamsender Infektion)

~1 Min. LesezeitSpam ist ein grosses Problem der heutigen Zeit, doch wer verschickt Spam und …

6 Kommentare

  1. avatar

    Zuerst einmal: super Script!
    Ich würde es wirklich gerne in einem eigenen Plugin verwenden, dazu jetzt die Frage unter welcher Lizenz das Script / die Klasse steht?

  2. avatar

    Danke, ich weiß nicht, wie lange ich nach so einem Script gesucht habe!
    Wie kann ich das ganze für Themes benutzen?

  3. avatar

    OB du dies im Theme einbindest (der obere Code) oder in einem Plugin kommt auf gleiche raus.
    Einfach dem Theme ein Namen geben und pro Plugin / Theme ein .json Datei erzeugen.

    Wird dann all 12 Stunden überprüft und bei neuer Version benachrichtigt

  4. avatar

    Diese Funktion ist einfach nur awwwsome!
    Funktioniert einwandfrei.

    Ich danke dir 🙂

    gruß roest

  5. avatar

    Hallo,

    Ich verwende dein Script und wollte wissen warum alles geht, außer das er die versions Nummer nach dem Update nicht mehr erhöht…

    bzw. Welche License verwendet das script?

    Liebe Grüße,
    Kevin

  6. avatar

    Hallo Kevin

    Die Versionsnummer des Plugins wo geupdated wird? Diese müsste sich erhöhen, passiert bei mir jedenfalls.
    ABER: Meine Version welche hier veröffentlicht wurde ist sehr alt. diese wurde überarbeitet und auch unter MIT gestellt.
    Version 2.2 ist aktuell: https://github.com/YahnisElsts/

    Grüsse
    Stefan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.

This Blog will give regular Commentators DoFollow Status. Implemented from IT Blögg