Scheint einfach genug, aber ich habe Probleme:
Ich möchte der "Add New Site" ein Optionsfeld hinzufügen .
Eine einfache Textoption ist in Ordnung. Wie mache ich das?Ich muss diese benutzerdefinierte Blog-Option speichern, wenn die Site erstellt wird.
Ich weiß, dass ich den 'wpmu_new_blog'-Hook verwenden kann, der die
$meta
Variable mit den angegebenen Optionen übergibt , aber ich frage mich, ob es eine Möglichkeit gibt, dies alles in einem Schritt zu tun, damit ich keine weitere DB-Abfrage ausführen muss oder noch schlimmer , den gesamten Site-Erstellungsprozess überschreiben / ersetzen?
Anmerkungen:
Ich verwende WP 3.3.1 mit einem MultiSite-Setup. Ich schreibe ein Plugin, das alle Sites auflistet, die dem angegebenen benutzerdefinierten Feldwert entsprechen (nennen wir es "Typ").
Außerdem bin ich ein erfahrener PHP-Entwickler, aber ich bin noch relativ neu in WordPress-Hacking, also nehmen Sie bitte an, dass ich noch nicht mit allen verschiedenen WP-Funktionen und -Hooks vertraut bin.
Der Multisite-Anmeldevorgang ist nicht einfach zu optimieren. Im Gegensatz zu anderen Prozessen hat es viele Haken, mit denen man spielen kann, aber sie scheinen für umfangreiche Anpassungen nicht allzu gut zusammen zu passen, daher verstehe ich Ihre Frustration.
Wenn ich richtig verstehe, ist es nicht so kompliziert zu erreichen, was Sie wollen, obwohl es keine Ein-Schritt-Lösung sein kann, ohne einen Großteil des Standardverhaltens von WordPress außer Kraft zu setzen, hauptsächlich, weil die Anmeldung (dh wenn Ihr Benutzer die benutzerdefinierten Informationen übermittelt) und die Aktivierung ( dh wann der neue Blog tatsächlich erstellt wird) separat passieren.
Hier ist ein sehr grober Code, den Sie benötigen, um loszulegen. Hoffentlich lenkt es Sie in die richtige Richtung:
Merken Sie sich:
Wenn Sie abschließend alle 'extra_field'-Werte aus allen vorhandenen Blogs später verarbeiten möchten, empfehle ich dringend, die Informationen in einer einzelnen Tabelle zu speichern. Verwenden Sie
update_site_option
stattdessenupdate_blog_option
die letzte Funktion und verlieren Sie die blog_id, die in diesem Fall nicht erforderlich ist.Wie auch immer, lass es uns wissen und viel Glück!
quelle
Wenn Sie sich site-new.php-Code ansehen, haben Sie Ihre Antwort bereits erhalten - und das ist nein!
Es gibt keine Bedingungen, die prüfen, ob dem Formular etwas hinzugefügt werden kann. Allerdings habe ich die Datei studiert und bin der Meinung, dass Sie dieses Eingabefeld in site-new.php manuell hinzufügen und den Wert als Meta im Array an die Funktion wpmu_create_blog übergeben müssen, die Sie irgendwo in der Nähe von Zeile 77 finden. NICHT TESTED, sondern reading Auf was die Funktion es tut, kann sein, was Sie suchen.
quelle