Ich habe ein Multisite-Setup in WordPress. Gibt es eine Möglichkeit, ein benutzerdefiniertes Feld zu implementieren, wenn ich eine neue Site in Admin> Sites> Add New erstelle? Meine aktuellen Optionen sind Site-Adresse, Site-Titel, Admin-E-Mail. Ich möchte ein weiteres Feld hinzufügen, das ich ausfüllen könnte, um mit diesen neuen Websites verknüpft zu werden.
Entschuldigung, schlechte Nachrichten.
Wenn Sie in der Codebasis von WP 3.9 nach der verantwortlichen PHP -Datei suchen ( site-new.php ), werden Sie leider feststellen, dass dies alles ist hardcoded, wie viele sachen in wp-admin, die meiner meinung nach total beschissen sind. :-(
Das Einzige, was Sie tun können, ist, Ihre eigene Seite für die Site-Erstellung zu erstellen und sie anstelle der Standard-WordPress-Seite zu erstellen.
So fangen Sie an:
Der einfachste Weg, dies zu tun, ist die Verwendung von add_menu_page () , um Ihre eigene benutzerdefinierte Admin-Menüseite zu definieren.
add_menu_page( 'Add site', 'Add site', 'manage_options', 'cusom-new-site-page', function() {
// your custom code for this page ...
});
Die Funktion zum Erstellen einer neuen Site lautet wpmu_create_blog () . Sie können jedoch auch die vorhandene Datei nach dieser Logik durchsuchen.
Danach können Sie add_rewrite_rule () verwenden, um Ihrer benutzerdefinierten Seite ein Umschreiben von der vorhandenen Seite hinzuzufügen. Ihre Umschreiberegel könnte folgendermaßen aussehen:
RewriteRule ^(.*)/wp-admin/network/site-new.php $1/wp-admin/admin.php?page=cusom-new-site-page [L]