我想做的是在常规设置中添加一些自定义字段。这是我正在使用的代码。它工作正常,但我只是不知道如何添加更多的字段。
我现在想创建两个字段,一个用于电话号码,另一个用于地址:
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
但它只是不起作用或没有保存等。它只是非常令人困惑。