Сохранение настроек плагина WordPress с помощью формы

#php #wordpress

#php #wordpress

Вопрос:

Привет, у меня есть этот проект WordPress, и мой скрипт работает хорошо и сохранен в базе данных. Моя проблема в том, что когда я вставляю значение zipcode 2034 и обновляю страницу wp-admin, я думаю, что данные сохраняются, теперь я хочу ввести другое zipcode 6000 , и первое введенное значение заменяется новым. Насколько плохо я могу вставить из него другое значение? без замены сохраненных данных. Вот мой код ниже

 add_action('admin_menu', 'zipcode_menu');

function zipcode_menu(){
    add_menu_page( 'Zipcode Page', 'Zipcode', 'manage_options', 'zipcode', 'zipcode' );
}

add_action( 'admin_init', 'update_extra_post_info' );

function update_extra_post_info() {
    register_setting( 'extra-post-info-settings', 'zipcode' );

}

function zipcode() {


    // Now display the settings editing screen

    echo '<div class="wrap">';
    // header
    echo "<h2>" . __( 'Zipcode', 'zip' ) . "</h2>";
    // settings form
    $extra_info = get_option('zipcode');
    echo "<pre>";
    print_r($extra_info);
    echo "</pre>";

    ?>

    <form method="post" action="options.php">
    <?php settings_fields( 'extra-post-info-settings' ); ?>
    <?php do_settings_sections( 'extra-post-info-settings' ); ?>
    <table class="form-table">
        <tr valign="top">
            <th scope="row">Zipcode:</th>
            <td><input type="text" name="zipcode" value="<?php echo get_option( 'zipcode' ); ?>"/></td>
        </tr>
    </table>
    <?php submit_button(); ?>
    </div>
    <br>
    <br>

    <table width="600px">
        <tr>
            <th>
                Zipcode
            </th>
            <th>
                Options
            </th>
        </tr>
        <tr>
            <th>

            </th>
            <th>

            </th>
        </tr>

    </table>
    <?php

}
  

и я хочу извлечь все сохраненные данные из базы данных в table Может кто-нибудь помочь мне разобраться с этим? Любая помощь будет очень полезна.
TIA

Ответ №1:

В WordPress register_setting выполните регистрацию в table wp_options , чтобы она всегда заменяла значение вашего параметра. Поэтому я предлагаю создать новую таблицу и управлять своим почтовым индексом из этой таблицы.

Комментарии:

1. ах, хорошо, вы имеете в виду, что я создам свою собственную таблицу, а затем сохраню данные, которые я создаю, да?

2. итак, в register_setting это всегда будет заменять значение hmmmm

3. Да, при настройке register_setting по умолчанию данные будут сохранены в option_name в той же таблице, и вам нужен идентификатор для каждого почтового индекса, поэтому вы не можете сделать это в wp_options