it-swarm.asia

add_settings_field'ı düzgün bir şekilde kullanabilir misiniz?

Bir ayarlar menüsüne daha fazla ayrıntı eklemek için add_settings_field kullanıyorum, ancak ayarları nasıl kaydettiğimden veya temalarımı nasıl geri çağırdığımdan emin değilim.

İşte şimdiye kadar kod

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

add_settings_field () belgeleri aşağıdakileri söyler:

Bu işlev tarafından kullanılan herhangi bir seçeneği register_setting () olarak kaydetmelisiniz, aksi takdirde kaydedilmeyeceklerdir ve otomatik olarak güncellenir.

4
Rarst

Bir ayar alanı eklemek için bu alanı kayıtlı bir bölüme kaydetmeniz gerektiğine dikkat edilmelidir.

Bu nedenle, bu kendi kayıtlı bölümünüzle birlikte kullanılmalı veya alternatif olarak mevcut bir bölüme (seçenekler sayfalarındakiler gibi) eklenecek bir alan olmalıdır.

Görmek. http://codex.wordpress.org/Function_Reference/add_settings_section

Eklenti seçenek sayfaları veya benzerleri oluşturma (tema seçenekleri) söz konusu olduğunda bunların gerçekten çok iyi olmadığını söyleyeceğim kadarıyla giderim, çünkü sadece kayıtlı her bölüme ve alana bir geri arama sağlanmalıdır (kaç geri arama yapacağınızı hayal edin) Tüm 5-6 alanları ile 3-4 bölüm varsa gerek). Elbette, parametrelerden geçerek dinamik geri aramalar yapabilirsiniz (bu nedenle yalnızca bir bölüm ve bir alan için bir geri aramaya ihtiyacınız olur) ... (ayrıca bu bölümler/alanlar için gerekli noktaları yazdırdığınızdan emin olmanız gerekir). .

Şahsen, sadece seçeneklerinizi/ayarlarınızı kaydetmenin ve kendi bölümlerinizi/alanlarınızı yazdırmanın ve tüm ayarlarınızı kapsayacak tek bir çağrı yapmayı daha iyi buluyorum ..

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

Ardından, çeşitli seçenek alanlarınızı nerede basarsanız yazdırın, sadece lotu kapsayan tek bir tane basmanız yeterlidir.

settings_fields( 'reference_name' ); 

Çeşitli bölümleri ve alanları kaydettiyseniz, bunu kayıtlı bölümlerin her biri için de yapmanız gerekir.

do_settings_sections('your_section');

Aslında, özel seçenekleri ayarlamanın tek önemli yönü, ayarları kaydederken ve bu verileri uygun şekilde dezenfekte ederken kendi geri aramanızı tanımladığınızdan emin olmaktır (register_setting için üçüncü parametre).

3
t31os