web-dev-qa-db-de.com

Benutzerdefiniertes Feld beim Hinzufügen einer neuen Site zu vernetztem WordPress mit mehreren Standorten

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.

3
Mike

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]
2
s1lv3r