it-swarm.dev

správně použít add_settings_field?

Používám add_settings_field pro přidání dalších podrobností do menu nastavení, ale nevím, jak nastavení uložím, nebo je zavolat zpět do mého tématu.

Zde je zatím kód

add_action('admin_init','vimeo_setup');

function vimeo_setup(){
add_settings_field('vimeo_id','Vimeo ID','display_vimeo','general');
}

function display_vimeo(){

 echo '<input  type="text" name="vimeo_id" id="vimeo_id" value="" size="30" style="width:85%" />';
 echo '<p><small> Enter your Vimeo ID here.</small></p>';
}
3
Mild Fuzz

Dokumentace pro add_settings_field () Říká následující:

Musíte registrovat všechny možnosti používané touto funkcí pomocí register_setting () nebo nebudou uloženy a automaticky aktualizován.

4
Rarst

Je třeba poznamenat, že pro přidání pole nastavení musíte toto pole zaregistrovat do registrované sekce.

Toto musí být tedy použito vedle vaší vlastní registrované sekce, nebo alternativně může být pole, které chcete přidat do existující sekce (např. Na stránkách možností).

Vidět. http://codex.wordpress.org/Function_Reference/add_settings_section

Chtěl bych jít tak daleko, abych řekl, že se nejedná o velmi dobré, pokud jde o stránky s možnostmi vytváření pluginů nebo podobně (možnosti motivů), jednoduše proto, že každá registrovaná sekce a pole musí být vybaveny zpětným dotazem (představte si, kolik zpětných volání budete mít pokud máte 3-4 sekce s 5-6 poli). Samozřejmě můžete provádět dynamická zpětná volání (takže potřebujete pouze jedno zpětné volání pro sekci a jednu pro pole) tím, že projdete parametry ... (budete také muset ujistit, že si vytisknete znaky pro tyto sekce/pole). .

Osobně považuji za lepší registrovat své možnosti/nastavení a vytisknout si vlastní sekce/pole a zavolat jediné zařízení, které pokryje všechna nastavení.

// 1: Reference, 2: Option name, 3: Callback function to sanitize the data
register_setting( 'reference_name', 'option_name', 'example_callback' );

Ať už tisknete různá pole možností, stačí tisknout pouze jedno zařízení, které pokrývá šarži.

settings_fields( 'reference_name' ); 

Pokud jste zaregistrovali různé sekce a pole, musíte to také udělat pro každou z registrovaných sekcí.

do_settings_sections('your_section');

Jediným důležitým aspektem nastavení vlastních možností je, abyste při registraci nastavení a příslušném dezinfekci těchto dat (třetí parametr pro register_setting) definovali vlastní zpětné volání.

3
t31os