Sidebar
ein-/ausblenden

WordPress Update Info nur für Admins

Plugin für WordPress SEO

Anzeige

Nicht selten setzt man WordPress für Nicht-Administratoren ein, sei es als CMS oder Weblog, - darum sollten auch nicht alle Nutzerrollen eine Informationen über Plugin- und Core-Updates bekommen.
Um dies einfach und schnell zu realisieren, nutze ich eine kleine Abfrage in der functions.php des Themes. Mit Hilfe des Objektes edit_plugins (Rechte für Userlevel und Objekte lassen sich im Codex nachlesen) prüfe ich, ob es sich um einen User handelt, der diese Möglichkeit besitzt und die im Standard nur Administratoren zu Teil wird. Damit stelle ich sicher, dass auch nur diese Nutzer die Information über Aktualisierungen von Plugins und dem Core bekommen.

Nicht jeder will die Form der Funktionalitäten in ein Theme integrieren, wo sie sicher auch nicht unbedingt perfekt aufgehoben sind. Alternativ werde ich diese Lösung im Plugin „Secure WordPress“ integriert, so dass man sie dort über eine Auswahlseite aktivieren kann.


/**
 * remove core-Update-Information
 * @rights: http://codex.wordpress.org/Roles_and_Capabilities
 */
if ( !current_user_can( 'edit_plugins' ) ) {
	// core update
	add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ) );
	add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
	// plugin update
	add_action( 'admin_menu', create_function( '$a', "remove_action( 'load-plugins.php', 'wp_update_plugins' );" ) );
	add_action( 'admin_init', create_function( '$a', "remove_action( 'admin_init', 'wp_update_plugins' );" ), 2 );
	add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_update_plugins' );" ), 2 );
	add_filter( 'pre_option_update_plugins', create_function( '$a', "return null;" ) );
}

Wer also den obigen Codeschnippsel nicht nutzen möchte und eine komfortable Verwaltung sucht, der wartet bitte ein wenig - die aktuelle Version kommt sicher in den nächsten Tagen der nutzt das Plugin Secure WordPress, in dem ich die Erweiterung nun drin habe.

15 Kommentare zu „WordPress Update Info nur für Admins“

  1. 1
    Kommentar von FuNKeR

    Würde sich das nicht perfekt in Adminimize machen? Hat ja schließlich auch mit Einschränkungen von Userrollen zu tun. Dann musst du kein ganzes Plugin draus machen.

  2. 2
    Kommentar von Evergreen

    Psst, lass mal ganz unauffällig das Apostroph aus dem Titel verschwinden ;)

  3. 3
    Kommentar von Frank Bültge

    @Evergreen: danke, gefixt

    @FuNKer: nein, Adminimize greift nicht in die Berechtigung ein, es blendet nur diverse Bereiche aus um die Übersicht besser zu gestallten. Die Rechte lassen sich mit dem Role Manager verwalten. Aus meiner Sicht gehört die Info über Updates nur an Admins mitgeteilt, vielleicht ist es ja irgendwann so im Core, so lange packe ich es in mein Secure WP Plugin, welches ich eh bei vielen Nutzern einsetze.

  4. 4
    Kommentar von David Hellmann

    Gute Sache. Finde es auch nicht schön die Meldungen immer sichtbar für jeden ist.

  5. 5
    Kommentar von datenkind

    Admin's

    Fraaaaank!
    Interessantes Snippet. Hilft ungemein, „lästige“ Fragen der Kunden zu minimieren oder mindert gar die Gefahr, dass einige Schlaue denken, dann selber rumschrauebn zu müssen. Der nächste Anruf lässt sich dann so einleiten: „Gestern ging alles noch …“ ;)

  6. 6
    Kommentar von Frank Bültge

    @datenkind: :( ja, ich weis es ja auch, aber manchmal schreibt man so vor sich hin oder holt Entwürfe aus dem Backup und schaut nicht nochmal - verdammtes Zeitproblem.

  7. 7
    Kommentar von datenkind

    Ist doch nicht schlimm, dafür hast du ja deine Leser! :)

  8. 8
    Kommentar von Ludwig

    Ich war bis jetzt ein "stiller" Leser. Heute schließe ich mich mal der Gruppe an. ;-)
    Bin auch schon gespannt auf die aktuelle Version.

  9. 9
    Kommentar von Ivan

    Hallo,
    es wäre eine tolle Sache.
    Habe den Code probehalber in das Theme eingebaut. Leider ist die Datenbank Query Abfrage um mehr als einen Drittel langsamer als vorher. Kann es sein, dass der Code das System bremst?

    Gruss Ivan

  10. 10
    Kommentar von Frank Bültge

    @Ivan: nein, die Filter kommen auch viel früher und damit sollte ich damit nix ändern. Alternativ kannst du es ja über mein Plugin aktivieren und schauen, ob es dann auch bremst.

  11. 11
    Kommentar von Ivan

    Hallo Frank,
    ich möchte gerne nur dieses Update Info in einem Plugin. Könntest Du mir angeben, welchen Code ich in das eigene Plugin kopieren muss, um das Update Info auszublenden?

  12. 12
    Kommentar von Frank Bültge

    Der obige Code macht nur das, wenn du das also in ein Plugin kopierst, einen Namen vergibst, dann geht das.

  13. 13
    Kommentar von Ivan

    Hallo Frank,
    das dachte ich mir auch, beim aktivieren erscheint nur noch eine weisse Seite, weder Inhalt noch die Adminstration erscheint. Nur noch das löschen via FTP hilft.

  14. 14
    Kommentar von Frank Bültge

    Dann liegt ein Fehler in deinem Plugin vor. Warum nutzt du nicht das meine und läßt die anderen Optionen deaktiviert, ist doch kein Mehraufwand. Ansonsten muss der Code in Funktionen und diese müssen angesprochen werden. Seit WP 2.5 prüft WP das. Alternativ kannst du auch mein Plugin nehmen und löscht die Bereiche, die du nicht brauchst, alle Funktionen und Abfragen sind mit Doku versehen.

  15. 15
    Kommentar von Ivan

    Danke Dir Frank
    werde Dein Plugin installieren ;)

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.

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

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.