Ce que je voudrais faire, c'est ajouter quelques champs personnalisés aux paramètres généraux. Ceci est le code que j'utilise. Cela fonctionne bien, mais je n'arrive pas à comprendre comment ajouter plus de champs.
Je voudrais créer deux champs pour l'instant, un pour le numéro de téléphone et le second pour l'adresse:
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 seule façon dont j'ai réussi à le faire fonctionner pour plusieurs champs était de tout dupliquer.
Alors, cela ressemblerait à ceci:
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');
Mais ce n'est probablement pas la meilleure façon de le faire, j'ai essayé de créer un settings_section
mais ça n'a tout simplement pas fonctionné ou n'a pas enregistré etc. C'est juste très déroutant.
la source
La meilleure façon est d'utiliser des plugins d'options wordpress. L'un des meilleurs est les champs personnalisés avancés.
http://www.advancedcustomfields.com/
Si vous achetez un module complémentaire de page d'options, vous pouvez créer une page d'options illimitée avec de nombreuses fonctionnalités. S'il vous plaît quoi sur une vidéo.
http://www.advancedcustomfields.com/add-ons/options-page/
Plugin et addon très utiles.
la source