Những gì tôi muốn làm là thêm một vài trường tùy chỉnh vào cài đặt chung. Đây là mã mà tôi đang sử dụng. Nó hoạt động ổn nhưng tôi không thể tìm ra cách thêm nhiều trường.
Bây giờ tôi muốn tạo hai trường, một cho số điện thoại và trường thứ hai cho địa chỉ:
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');
Cách duy nhất tôi quản lý để làm cho nó hoạt động cho nhiều lĩnh vực là sao chép mọi thứ.
Vì vậy, nó sẽ trông như thế này:
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');
Nhưng đây có lẽ không phải là cách tốt nhất để làm điều đó, tôi đã thử tạo một settings_section
nhưng nó không hoạt động hoặc không tiết kiệm, v.v ... Nó rất khó hiểu.