Как добавить произвольные поля для пользователя wordpress?

Скажите можно ли для пользователей вордпресс добавить произвольные поля? Точно так же как и для постов. Что бы можно было в админке редактировать данные произвольные поля а на сайте выводить их в любом месте шаблона wp.

Добавить Комментарий
    Ответ

    Произвольные поля для пользователей в вордпресс конечно же можно добавить.
    Для этого откройте файл functions.php
    Сперва мы пропишем вывод произвольного поля в админке при редактировании профиля пользователя.

     function fb_add_custom_user_profile_fields( $user ) {
     ?>
     <h3><?php _e('Extra Profile Information', 'your_textdomain'); ?></h3>
    <table class="form-table">
     <tr>
     <th>
     <label for="address">Фото
     </label></th>
     <td>
     <input type="text" name="address" id="address" value="<?php echo esc_attr( get_the_author_meta( 'address', $user->ID ) ); ?>" class="regular-text" /><br />
     <span class="description">Ссылка на фото</span>
     </td>
     </tr>
     </table>
     <?php }
     

    Далее пропишем функцию сохранения произвольного поля.

     function fb_save_custom_user_profile_fields( $user_id ) {
    if ( !current_user_can( 'edit_user', $user_id ) )
     return FALSE;
    update_usermeta( $user_id, 'address', $_POST['address'] );
     }
     

    Теперь осталось только прописать события для вызова нашей функции, что бы она могла сохранить и обновить в админке значение поля

     add_action( 'show_user_profile', 'fb_add_custom_user_profile_fields' );
     add_action( 'edit_user_profile', 'fb_add_custom_user_profile_fields' );
    add_action( 'personal_options_update', 'fb_save_custom_user_profile_fields' );
     add_action( 'edit_user_profile_update', 'fb_save_custom_user_profile_fields' );
     

    Для вывода в шаблоне информации о пользователе используйте следующую функцию:

     the_author_meta( $meta_key, $user_id );
     

    Добавить Комментарий

    Ваш ответ

    Размещая свой ответ, вы соглашаетесь с правилами сайта.