Сышышь ты, выходи сюда,
поговорим !

Форма регистрации WordPress: дополнительные поля

Опубликовано: 12.04.2018

видео Форма регистрации WordPress: дополнительные поля

Настройка регистрации в Woocommerce. Аккаунты

Текущая статья-заметка расскажет и покажет читателям моего проекта "Sooource.NET" универсальный способ вставки любого количества произвольных текстовых однострочных полей ввода в стандартную форму регистрации системы управления содерждимым сайта WordPress, вызов которой, как всем известно, располагается в файле "wp-login.php", считая от корня каталога с движком. Смотрим внимательно на пример сниппета, представленный далее.



Итак, добавляем следующие поля к секции Контакты: Twitter, Facebook и ВКонтакте, - насколько я знаю (просто ими не пользуюсь, не привлекают никак) практически одни из самых популярных веб-сервисов. Плюс удалим, точнее скроем, уже неактуальные Yahoo IM, AIM и Jabber/Google Talk.

<?php add_filter ( 'user_contactmethods' , 'snup_new_contact_fields' ) ; // - зарегистрировать в админке. add_action ( 'user_register' , 'snup_register_new_fields' ) ; // - обработка сохранения значений. add_action ( 'register_form' , 'snup_show_new_register_fields' ) ; // - показать новые поля в форме.   # Регистрируем новые и скрываем старые поля: function snup_new_contact_fields ( $contactmethods ) { $contactmethods [ 'snup_twitter' ] = 'Twitter' ; // - добавляем Twitter. $contactmethods [ 'snup_facebook' ] = 'Facebook' ; // - добавляем Facebook. $contactmethods [ 'snup_vkontakte' ] = 'ВКонтакте' ; // - добавляем ВКонтакте. unset ( $contactmethods [ 'yim' ] ) ; // - убираем Yahoo IM. unset ( $contactmethods [ 'aim' ] ) ; // - убираем AIM. unset ( $contactmethods [ 'jabber' ] ) ; // - убираем Jabber/Google Talk. return $contactmethods ; // - возвращаем результат. }   # Сохраняем по идентификатору пользователя новые поля: function snup_register_new_fields ( $user_id , $password = '' , $meta = array ( ) ) { $userdata = array ( ) ; // - объявляем массив полей профиля. $userdata [ 'ID' ] = $user_id ; // - получаем идентификатор юзера. $userdata [ 'snup_twitter' ] = $_POST [ 'snup_twitter' ] ; // - получаем Twitter. $userdata [ 'snup_facebook' ] = $_POST [ 'snup_facebook' ] ; // - получаем Facebook. $userdata [ 'snup_vkontakte' ] = $_POST [ 'snup_vkontakte' ] ; // - получаем ВКонтакте. $new_user_id = wp_update_user ( $userdata ) ; // - обновляем информацию. }   # Выводим/добавляем новые поля в форму регистрации: function snup_show_new_register_fields ( ) { print ' <p> <label for="twitter">Twitter<br/> <input id="twitter" class="input" type="text" tabindex="60" size="25" value="" name="snup_twitter" /> </label> </p>   <p> <label for="facebook">Facebook<br/> <input id="facebook" class="input" type="text" tabindex="60" size="25" value="" name="snup_facebook" /> </label> </p>   <p> <label for="vkontakte">ВКонтакте<br/> <input id="vkontakte" class="input" type="text" tabindex="60" size="25" value="" name="snup_vkontakte" /> </label> </p>' ; } ?>

Краткие пояснения:

Из небольший пояснений или "Чего бы ещё мне почитать?", - так сказать: погуглите информацию касаемо действий user_register и register_form, также не забудьте о фильтре под названием user_contactmethods. Метод описанный выше я проверял на WordPress 3.4.2. В архиве к рассматриваемой статье вас ждет небольшой полуторакилобайтный бонус в виде готового кода, оформленного плагином.


Настройка полей оформления заказа Woocommerce


Профиль wordpress - выводим доп. поля профиля