In einer Installation Wordpress Multisite Ich Customizing, ich brauche für die Schaffung neuer Blog-Websites, ein einfaches Textfeld in das Eingabeformular hinzuzufügen, die beiWordPress + Multisite: Wie fügt man benutzerdefinierte Blog-Optionen zum Hinzufügen eines neuen Site-Formulars in Network Admin hinzu?
Network Admin > Sites > Add New
natürlich dieses Feld muss ich bekommen entfernt zusammen mit den anderen Metadaten aus diesem Formular in der {new_blog_prefix}_options
Tabelle gespeichert.
Ich bin besonders interessiert für die einfachste, geradlinigste und/oder den "richtigen Weg" (d. H. The WordPress Way), um dies zu erreichen, aber ich begnüge mich mit dem Weg, der funktioniert ™!
Bisher habe ich begegnet zahlreichen Sackgassen in meiner Forschung:
Einstellungen API - [WP Codex]
Soweit ich das beurteilen kann, die Einstellungen API (a)kann nicht für den Netzwerkadministratorabschnitt arbeiten (obwohl sich das in einer neueren Version von WP möglicherweise geändert hat); Außerdem scheint (b) nur das Hinzufügen/Ändern von Bildschirmen im Bereich
Settings
des Dashboards zu ermöglichen.wpmu_options Haken - [Hooks DB]
scheint für das Hinzufügen von Optionen, um die Netzwerkeinstellungen Bildschirm einen Haken ausschließlich zu sein.
add_site_option/add_blog_option - [WP Codex]
Closest finde ich; scheint das Hinzufügen von sitespezifischen Optionen zur
{blogsite_prefix}_options
-Tabelle zu erlauben, hilft aber beim Hinzufügen von Optionen zum Admin-Formular immer noch nicht.
Also ... keine Würfel. Jede Hilfe wird geschätzt!
Danke, das ist eine wirklich gute Antwort! Würdig von +100 :) –
Sehr schön, aber eine kleine Änderung: 'if (! Leer ($ _ POST ['blog'] ['neues_feld'])) $ new_field_value = $ _POST ['blog'] ['new_field ']; 'für' if (! isset ($ _ POST [' blog '] [' neues_feld '])) zurückgeben FALSE; '... Betrachte leeren Wert von new_field, der als korrekter Wert akzeptiert werden kann – Mariyo
Seit WP 4.5, Ein Aktionshaken ist innerhalb des Form-Tags von site-new.php namens "network_site_new_form" vorhanden. – Berend