Пользовательские поля настроек Wordpress, которые могут быть добавлены / сгенерированы администратором - PullRequest
1 голос
/ 12 апреля 2019

Короче говоря, я пытаюсь добиться того, чтобы пользователь мог добавить некоторые поля настроек администратора в пользовательский плагин через бэкэнд, а затем заполнить их по мере необходимости.

Таким образом, на странице настроек по умолчанию будет одно поле настроек:

Местоположение (с настройкой 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 }

Используя этот же код, я могу вручную создать многие из этих полей по своему усмотрению, но, как указано в вопросе, как можноя позволил внутреннему пользователю делать это динамически.Я перебрал довольно много других вопросов и не смог найти ничего, что могло бы даже помочь мне начать, поэтому любая помощь будет принята с благодарностью.

большое спасибо заранее!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...