#php #wordpress #woocommerce
#php #wordpress #woocommerce
Вопрос:
В двух словах, чего я пытаюсь добиться, это позволить пользователю добавлять некоторые поля настроек администратора в пользовательский плагин через серверную часть, а затем заполнять их по мере необходимости.
Таким образом, на странице настроек по умолчанию будет одно поле настроек:
Местоположение (с параметром location_id): (Пользователь вводит здесь местоположение, и оно сохраняется в базе данных)
Я хочу, чтобы у меня была кнопка с надписью «Добавить другое местоположение», которая автоматически создаст новое поле настроек с идентификатором location_id2. Добавление третьего приведет к созданию третьего поля и присвоению идентификатора последовательно. (В идеале я хотел бы предоставить возможность удалить любое из полей, но это второстепенное требование.)
Эти поля будут сохранены в базе данных, чтобы я мог вызвать их позже в интерфейсе, используя get_option('location_id')
; .
Код, который у меня есть в настоящее время, предназначен для одного поля настроек
add_action('admin_menu', 'mycustom_menu');
function mycustom_menu() {
//create new top-level menu
add_menu_page('mycustom Connect', 'mycustom Connect', 'administrator', __FILE__, 'mycustom_settings_page' , plugins_url('/images/icon1.png', __FILE__) );
//call register settings function
add_action( 'admin_init', 'register_mycustom_settings' );
}
function register_mycustom_settings() {
//register our settings
register_setting( 'mycustom-settings-group', 'location_id' );
}
function mycustom_settings_page() {
?>
<div class="wrap">
<h1><strong></strong>mycustom Settings</strong></strong></h1>
<form autocomplete="off" method="post" action="options.php">
<?php settings_fields( 'mycustom-settings-group' ); ?>
<?php do_settings_sections( 'mycustom-settings-group' ); ?>
<table class="form-table">
<tr valign="top">
<th scope="row">Location ID</th>
<td><input autocomplete="off" type="text" name="location_id" value="<?php echo esc_attr( get_option('location_id') ); ?>" /></td>
</tr>
</table>
<?php submit_button(); ?>
</form>
</div>
<?php }
Используя этот же код, я могу вручную создать многие из этих полей по своему усмотрению, но, как указано в вопросе, как я могу позволить бэкенд-пользователю делать это динамически. Я просмотрел немало других вопросов и не смог найти ничего, что помогло бы мне начать работу, поэтому любая помощь будет с благодарностью.
заранее большое спасибо!