In un'installazione di WordPress multisito sto personalizzazione, ho bisogno di aggiungere un campo di testo semplice per il modulo di iscrizione per la creazione di nuovi siti di blog, che è situato inWordPress + Multisito: come aggiungere opzioni blog personalizzate per aggiungere il modulo Nuovo sito nell'amministratore di rete?
Network Admin > Sites > Add New
Naturalmente ho bisogno di questo campo per ottenere salvato insieme agli altri meta dati da quel modulo, nella tabella {new_blog_prefix}_options
.
Sono particolarmente interessato al modo più semplice, più diretto e/o il "modo giusto" (vale a dire il WordPress Way) per realizzare questo, ma mi accontenterò di The Way That Works ™!
Finora ho incontrato numerosi vicoli ciechi nella mia ricerca:
Impostazioni API - [WP Codex]
Per quanto posso dire, delle impostazioni API (a)potrebbe non funzionare per la sezione Amministrazione di rete (anche se questo potrebbe essere cambiato in una versione recente di WP); inoltre, (b) sembra che questo ti consenta di aggiungere/modificare schermate solo nella sezione
Settings
del Dashboard.wpmu_options gancio - [Hooks DB]
sembra essere un gancio esclusivamente per l'aggiunta di opzioni alla schermata Impostazioni di rete.
add_site_option/add_blog_option - [WP Codex]
più vicino posso trovare; sembra consentire di aggiungere opzioni specifiche del sito alla tabella
{blogsite_prefix}_options
, ma ancora non aiuta con l'aggiunta di opzioni al modulo di amministrazione.
Quindi ... nessun dado. Qualsiasi aiuto è apprezzato!
Grazie, questa è davvero una bella risposta! Degno di +100 :) –
Molto bello, ma una piccola modifica: 'if (! Empty ($ _ POST ['blog'] ['new_field'])) $ new_field_value = $ _POST ['blog'] ['new_field ']; 'per' if (! isset ($ _ POST [' blog '] [' new_field '])) restituisce FALSE; '... Considera il valore vuoto di new_field, che può essere accettato come valore corretto – Mariyo
Dal momento che WP 4.5, un hook di azione è presente all'interno del tag form di site-new.php chiamato "network_site_new_form". – Berend