webentwicklung-frage-antwort-db.com.de

Wie ändere ich "wp-admin" in etwas anderes, ohne den Kern zu ersetzen?

zum Beispiel: foobar.com/wp/edit statt foobar.com/wp/wp-admin

Wie würde ich das machen?

Ich habe versucht, dies in htaccess zu verwenden, aber es wird nicht funktionieren:

##### ABOVE THIS POINT IS ALREADY INSERTED BY Word PRESS
##### Admin Base Rewrite #####
RewriteCond %{REQUEST_URI} wp-admin/
RewriteCond %{QUERY_STRING} !sercretword
RewriteRule .*\.php [F,L]
RewriteCond %{QUERY_STRING} !secretword
RewriteRule ^secret_room/(.*) wp-admin/$1?%{QUERY_STRING}&secretword [L]
##### End Admin Base Rewrite #####
##### BELOW THIS POINT IS ALREADY INSERTED BY Word PRESS

Es wurde von Michi Kono erstellt. Ich kann es aber einfach nicht zum Laufen bringen.

Ich versuche nicht, durch Dunkelheit sicherer zu sein ... Es ist mehr für die Funktionalität. Meine Seite kann weltweit bearbeitet werden (wie ein Wiki), aber nur für registrierte Benutzer. Sie wechseln zu "/ edit" anstelle von "/ wp-admin", um Inhalte zu bearbeiten oder hinzuzufügen.

Danke für die Hilfe!

HINWEIS: Ich habe diese Frage gesehen: Kann ich den Ordner wp-admin umbenennen? Aber das hat keine Antwort.

HINWEIS: Das Stealth Admin-Plugin scheint auch nicht zu funktionieren.

HINWEIS: Ich habe diese Lösung ausprobiert: Umleiten/Umschreiben aller/wp-Login-Anforderungen Ich bin mir jedoch nicht sicher, wo in der htaccess-Datei die Umschreiberegel in Bezug auf die WordPress-Regeln platziert werden soll.

2
trusktr

Du kannst das Redirection Plugin ausprobieren, genau dafür ist es großartig.

EDIT

Sie können beispielsweise auch eine Unterdomäne einrichten, die eine transparente Weiterleitung vornimmt, wie in: http://admin.mywebsite.com/ , die Sie in Ihren Ordner wp-admin/weiterleiten würden. Aber dann denke ich, dass die Leute immer noch den wp-admin/in allen Links sehen würden (zum Beispiel auf Hover).

1
mike23

Platzieren Sie den Code für Ihren Zugriff buchstäblich in der ersten Zeile vor allen anderen Kommentaren oder Codes, die von WordPress oder anderen Plugins hinzugefügt wurden.

Wie Jan sagte, besteht das Umschreiben aus zwei Teilen. Neben .htaccess müssen Sie also den Filter admin_url ändern

function custom_admin_url($path) { 
    return str_replace('wp-admin', 'dashboard', $path); 
}
add_filter('admin_url', 'custom_admin_url');
0
Bryan Willis

Das Ändern einer URL besteht immer aus zwei Teilen: Ändern des Codes, der die URLs akzeptiert (um sicherzustellen, dass Sie beim Aufrufen von example.com/edit etwas erhalten), und Ändern der URLs, die der Code im HTML ausgibt (sodass ein Link zu wp-admin/ geschrieben wird) als edit/).

Der erste Teil ist der einfache Teil, und Sie können ihn mit den Umschreibregeln von Apache durchführen. Auf diese Weise können Sie eine Anforderung für example.com/edit erstellen, die so aussieht, als wäre sie für example.com/wp-admin erstellt worden.

Der zweite Teil ist der schwierige Teil und erfordert in der Tat ein globales Suchen und Ersetzen, da er überall "fest codiert" ist. Die Diskussionen und Trac-Tickets mit denen Mike in seiner Antwort auf die ältere Frage verlinkt weisen darauf hin, dass die Kernentwickler derzeit keine Pläne haben, dies zu ändern, da sie den Nutzen nicht sehen. In der Tat könnte Ihr Anwendungsfall auch so gehandhabt werden, dass Sie nicht wp-admin verwenden müssen (alles in das Front-End verschieben).

0
Jan Fabry