правильно использовать add_settings_field?

Я использую add_settings_field, чтобы добавить некоторые подробности в меню настроек, но не знаю, как сохранить настройки или перезвонить в моей теме.

Вот код до сих пор

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>'; } 

Solutions Collecting From Web of "правильно использовать add_settings_field?"

Документация для add_settings_field () Говорит следующее:

Вы ДОЛЖНЫ зарегистрировать любые параметры, используемые этой функцией, с помощью register_setting () или они не будут автоматически сохраняться и обновляться.

Следует отметить, что для добавления поля настроек вы должны зарегистрировать это поле в зарегистрированном разделе.

Таким образом, это необходимо использовать вместе с вашим собственным зарегистрированным разделом или, альтернативно, поле для добавления в существующий раздел (например, на всех страницах параметров).

Видеть. http://codex.wordpress.org/Function_Reference/add_settings_section

Я бы зашел так далеко, что сказал, что это не очень хорошо, когда речь идет о создании страниц параметров плагина или похожих (параметры темы), просто потому, что каждый зарегистрированный раздел и поле должны быть снабжены обратным вызовом (представьте, сколько обратных вызовов вы будете если у вас есть 3-4 раздела, все с 5-6 полями). Конечно, вы можете делать динамические обратные вызовы (так что вам нужен только один обратный вызов для раздела и один для полей), передавая параметры … (вам также необходимо убедиться, что вы печатаете nonces для этих разделов / полей). ,

Лично я считаю, что лучше просто зарегистрировать свои параметры / настройки и распечатать свои собственные разделы / поля, а также вызвать одиночное nonce, чтобы охватить все ваши настройки.

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

Затем, где бы вы ни печатали ваши различные поля параметров, вам нужно только напечатать один nonce, который покрывает лот.

 settings_fields( 'reference_name' ); 

Если вы зарегистрировали различные разделы и поля, вам также необходимо будет сделать это для каждого из зарегистрированных разделов.

 do_settings_sections('your_section'); 

На самом деле единственным важным аспектом настройки пользовательских параметров является то, что вы определяете свой собственный обратный вызов при регистрации настроек и надлежащим образом дезинфицируете эти данные (третий параметр для регистрации_регистрации).