Deaktivieren der Plugin-Deaktivierung im WordPress-Admin-Panel
Einer der besten Bestandteile von WordPress ist die Verfügbarkeit von Plugins, die Ihnen die Arbeit als Benutzer und Entwickler erleichtert. Wenn wir Websites für Kunden erstellen, verwenden wir als Entwickler häufig Plugins, die für die Funktionalität bestimmter Websites von entscheidender Bedeutung sind. Vor kurzem sind wir auf ein Problem gestoßen, bei dem eine Site unseres Kunden defekt war. Die Seitenleiste wurde nicht vollständig geladen, es fehlten Elemente auf der einzelnen Post-Seite, die sie ausflippten. Das Fazit dieser Geschichte war, dass einer ihrer neuen Mitarbeiter, der neu bei WordPress war, einige der Plugins deaktiviert hat, die für die einwandfreie Funktion der Website erforderlich waren. Wir haben alle deaktivierten Plugins aktiviert und aktiviert, aber es musste etwas unternommen werden, um dieses Problem in Zukunft zu verhindern. In diesem Artikel zeigen wir Ihnen, wie Sie die Deaktivierung der Plugins über das WordPress Admin Panel deaktivieren (nur für bestimmte Plugins)..
Theoretisch sollten Sie das Mitglieder-Plugin von Justin Tadlock verwenden und eine neue Rolle für Benutzer erstellen können. Der Kunde, den wir hatten, wollte diesen Weg jedoch nicht gehen. Es ist ein kleines Unternehmen und sie haben diesen neuen Mitarbeiter eingestellt, der sich mit seinen sozialen Medien und Blogs befasst, sodass wir den Zugriff nicht einschränken können. Sie wollten ihm die Möglichkeit geben, Plugins nach Belieben zu aktivieren / deaktivieren. Wir mussten einen Weg finden, der unseren Kunden glücklich machen würde, und wir mussten auch einen Weg finden, um dieses Problem in Zukunft zu verhindern. Glücklicherweise haben wir Steve Taylor einen Snippet gefunden, mit dem Sie den Link „Deaktivieren“ aus den angegebenen Plugins entfernen können. Außerdem wird der Link Bearbeiten für alle Plugins entfernt, da unser Client keine Plugins über den Editor bearbeiten soll.
Sie müssen also nur die folgenden Codes in die Datei functions.php Ihres Themes einfügen:
add_filter ('plugin_action_links', 'disable_plugin_deactivation', 10, 4); function disable_plugin_deactivation ($ actions, $ plugin_file, $ plugin_data, $ context) // Entferne den Bearbeitungslink für alle if (array_key_exists ('edit', $ actions)) unset ($ actions ['edit']); // Entferne den Deaktivierungslink für wichtige Plugins, wenn (array_key_exists ('disable', $ actions) & & in_array ($ plugin_file, array ('facebook-open-graph-meta-in-wordpress / fbogmeta.php', 'wp-pagenavi / wp-pagenavi.php '))) unset ($ actions [' disable '])); $ -Aktionen zurückgeben;
Jetzt müssen Sie das Array von $ plugin_file ändern, in dem Sie die Liste der angegebenen Plugins sehen. Der Pfad der Datei ist relativ zu / wp-content / plugins /. Im obigen Beispiel 'facebook-open-graph-meta-in-wordpress / fbogmeta.php' befindet sich also eine Datei im Ordner facebook-open-graph-meta-in-wordpress, die sich innerhalb des Plugins-Ordners befindet. Sie können die Liste so ändern, dass beliebig viele Plugins hinzugefügt werden.
Dieser Trick ist eine Abkürzung und verhindert eigentlich nicht die eigentliche Deaktivierung. Alles, was wir tun, ist den Deaktivierungslink auszublenden. Jeder mit etwas WordPress-Wissen kann eine Deaktivierungs-URL generieren und ausführen. Wenn Ihr Client dafür aber geschickt genug ist, wissen Sie bereits, was FTP ist, und können die Plugins einfach auf diese Weise löschen.
Arbeiten Sie an einem Thema, für das ein bestimmtes Plugin erforderlich ist, damit es ordnungsgemäß funktioniert? Dann vergessen Sie nicht, den Code oben abzulegen.