Lo que me gustaría hacer es agregar algunos campos personalizados a la configuración general. Este es el código que estoy usando. Funciona bien, pero no puedo entender cómo agregar más campos.
Me gustaría crear dos campos por ahora, uno para el número de teléfono y el segundo para la dirección:
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');
La única forma en que logré que funcionara para múltiples campos fue duplicar todo.
Entonces se vería así:
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');
Pero probablemente esta no sea la mejor manera de hacerlo, intenté crear un settings_section
pero simplemente no funcionó o no se guardó, etc. Es muy confuso.
fuente
Mejor manera es usar un complemento de opciones de WordPress. Uno de los mejores son los campos personalizados avanzados.
http://www.advancedcustomfields.com/
Si compra un complemento de página de opciones, puede crear una página de opciones ilimitada con muchas características. Por favor, qué sale un video.
http://www.advancedcustomfields.com/add-ons/options-page/
Complemento y complemento muy útil.
fuente