2017-12-29 15 views
-1

Ich muss die Seitenvorlage für die Benutzer-edit.php Ansicht innerhalb der WordPress Admin-Schnittstelle ersetzen.Replace user-edit.php Seite innerhalb von WordPress admin

Ich bin nicht auf der Suche nach Core-Dateien ändern, aber ich möchte meine eigene Benutzer-edit.php erstellen stattdessen aufgerufen werden.

Bisher habe ich versucht, die user-edit.php-Datei zu erstellen und sie in mein Child-Theme einzufügen.

Kann dies mit einem benutzerdefinierten Plugin geschehen?

Antwort

0

Die WordPress-Admin-Seiten verwenden Vorlagen nicht wirklich auf die gleiche Weise wie Themen. Also, es ist nicht wirklich eine Vorlage zu ersetzen.

Das gesagt, hier sind Ihre Optionen, um das Ersetzen der Standard-WordPress user-edit.php Seite zu erreichen.

1) [Brute-Force-Methode] gerade ersetzen Sie den Kern wp-admin/user-edit.php Datei mit Ihren eigenen. Ich weiß, du hast bereits gesagt, dass du Core-Dateien nicht ersetzen willst; Ich liste das nur für andere auf, die hier auftauchen. Offensichtlich ist dies nicht ideal, da Ihre Datei bei jedem Update von WordPress überschrieben wird.

2) [server redirect method] Sie könnten den entsprechenden Eintrag in Ihrer Site .htaccess Datei hinzufügen um Anrufe für https://yourdomain.tld/wp-admin/user-edit.php umleiten zu Ihrer neuen Seite/Datei. Auch nicht ideal, denn wenn Ihre Website jemals zu einem neuen Thema wechselt, das nicht die Ersatzdatei enthält, wäre dieser Umleitungslink unterbrochen.

3) [additive methode] Lassen Sie das vorhandene core/default Benutzermenü in Ruhe und fügen Sie einfach Ihr eigenes Admin-Menü (über add_menu_page) hinzu, um Ihre neuen Seiten einzuschließen. Dann wissen Sie, dass Sie nur dieses neue Menü anstelle des Menüs Benutzer verwenden müssen. Besser, aber auch nicht ideal, da Links auf anderen Admin-Seiten, die auf user-edit.php verweisen, immer noch dorthin zeigen und Admin-Benutzer zur alten/Kernseite führen.

4) [php intercept method] Abfangen von Anrufen an wp-admin/user-edit.php im PHP-Code Ihres Themes und laden Sie stattdessen Ihre Ersatzdatei. Dies ist wahrscheinlich die beste Methode, wenn auch nicht die einfachste Methode. Und Sie müssen sicherstellen, dass Ihre Ersatzseite weiterhin allen Plugins erlaubt, ordnungsgemäß zu funktionieren, die möglicherweise auch die Seitenfilter und Hooks der Benutzer bearbeiten.

Das erste, was der Kern user-edit.php Datei tut, ist Lasten wp-admin/admin.php:

Um # 4 [php Intercept] zu erreichen. Diese Datei lädt alle relevanten Admin-Sachen und schließlich die Handsteuerung zurück auf user-edit.php. Aber kurz bevor es der Fall ist, löst er die Aktion "load-user-edit.php"

Also, in Ihrem Thema der functions.php-Datei verwenden, um eine Funktion wie diese die Anforderung abzufangen und zu Ihrer Datei umleiten:

function scottfive_override_user_edit(){ 
    require_once(get_template_directory() . '/myadminfiles/user-edit-replacement.php'); 
    die(); 
} 
add_action('load-user-edit.php', 'scottfive_override_user_edit', 1); 

Beachten Sie, dass Diese Methode ersetzt die gesamte Datei mit all ihrer Funktionalität und Sicherheit. Ich schlage vor, einen Blick auf die ursprüngliche Kernbenutzer-edit.php zu werfen und den Authentifizierungs-/Autorisierungscode zu duplizieren, um sicherzustellen, dass Ihre Datei mindestens so sicher ist wie das Original.

Glückliche Codierung! : D

Verwandte Themen