Yang ingin saya lakukan adalah menambahkan beberapa bidang khusus ke pengaturan umum. Ini adalah kode yang saya gunakan. Ini berfungsi dengan baik, tetapi saya tidak tahu cara menambahkan lebih banyak bidang.
Saya ingin membuat dua bidang untuk saat ini, satu untuk nomor telepon dan yang kedua untuk alamat:
function register_fields()
{
register_setting('general', 'my_first_field', 'esc_attr');
add_settings_field('my_first_field', '<label for="my_first_field">'.__('My Field' , 'my_first_field' ).'</label>' , 'print_custom_field', 'general');
}
function print_custom_field()
{
$value = get_option( 'my_first_field', '' );
echo '<input type="text" id="my_first_field" name="my_first_field" value="' . $value . '" />';
}
add_filter('admin_init', 'register_fields');
Satu-satunya cara saya membuatnya berfungsi untuk beberapa bidang adalah dengan menduplikasi semuanya.
Maka akan terlihat seperti ini:
function register_fields()
{
register_setting('general', 'my_first_field', 'esc_attr');
add_settings_field('my_first_field', '<label for="my_first_field">'.__('My Field' , 'my_first_field' ).'</label>' , 'print_first_field', 'general');
register_setting('general', 'my_second_field', 'esc_attr');
add_settings_field('my_second_field', '<label for="my_second_field">'.__('My Field' , 'my_second_field' ).'</label>' , 'print_second_field', 'general');
}
function print_first_field()
{
$value = get_option( 'my_first_field', '' );
echo '<input type="text" id="my_first_field" name="my_first_field" value="' . $value . '" />';
}
function print_second_field()
{
$value = get_option( 'my_second_field', '' );
echo '<input type="text" id="my_second_field" name="my_second_field" value="' . $value . '" />';
}
add_filter('admin_init', 'register_fields');
Tapi ini mungkin bukan cara terbaik untuk melakukannya, saya mencoba membuat settings_section
tapi itu tidak berhasil atau tidak menyelamatkan dll. Itu hanya sangat membingungkan.