как сделать поля экрана администратора Wordpress обязательными - PullRequest
0 голосов
/ 04 октября 2018

Мне было интересно, можно ли сделать поля в административной области (например, на странице пользователя) обязательными или необязательными.

1 Ответ

0 голосов
/ 05 октября 2018

Здесь я беру ссылку URL https://www.cssigniter.com/how-to-add-a-custom-user-field-in-wordpress/


Отображение поля пользователя


Как указано в регистрационной форме, действия 'show_user_profile'и' edit_user_profile 'доступны для добавления наших собственных пользовательских полей.Первая срабатывает, когда пользователи видят / редактируют информацию своего профиля, а вторая - когда пользователь (например, администратор) видит / редактирует профиль другого пользователя.Оба действия передают объект WP_User как единственный параметр.Наш предыдущий код, который уже использует эти действия, был таким:

add_action( 'show_user_profile', 'crf_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'crf_show_extra_profile_fields' );

function crf_show_extra_profile_fields( $user ) {   ?>
    <h3><?php esc_html_e( 'Personal Information', 'crf' ); ?></h3>

    <table class="form-table">
        <tr>
            <th><label for="year_of_birth"><?php esc_html_e( 'Year of birth', 'crf' ); ?></label></th>
            <td><?php echo esc_html( get_the_author_meta( 'year_of_birth', $user->ID ) ); ?></td>
        </tr>
    </table>
    <?php
} 

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

add_action( 'show_user_profile', 'crf_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'crf_show_extra_profile_fields' );

function crf_show_extra_profile_fields( $user ) {
    $year = get_the_author_meta( 'year_of_birth', $user->ID );
    ?>
    <h3><?php esc_html_e( 'Personal Information', 'crf' ); ?></h3>

    <table class="form-table">
        <tr>
            <th><label for="year_of_birth"><?php esc_html_e( 'Year of birth', 'crf' ); ?></label></th>
            <td>
                <input type="number"
                   min="1900"
                   max="2017"
                   step="1"
                   id="year_of_birth"
                   name="year_of_birth"
                   value="<?php echo esc_attr( $year ); ?>"
                   class="regular-text"
                />
            </td>
        </tr>
    </table>
    <?php
}

Давайте проверим страницу нашего профиля:

enter image description here

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