내가하고 싶은 것은 일반 설정에 몇 가지 사용자 정의 필드를 추가하는 것입니다. 이것은 내가 사용하는 코드입니다. 그것은 잘 작동하지만 더 많은 필드를 추가하는 방법을 알 수 없습니다.
전화 번호와 주소에 대한 두 개의 필드를 작성하려고합니다.
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');
여러 필드에서 작동하도록하는 유일한 방법은 모든 것을 복제하는 것입니다.
그러면 다음과 같이 보일 것입니다.
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');
그러나 이것은 아마도 그것을하는 가장 좋은 방법은 settings_section
아니지만 , 나는 그것을 만들려고 시도했지만 작동하지 않거나 저장하지 않았습니다. 매우 혼란 스럽습니다.