Дополнительные поля в профиле WordPress
Статья-инструкция о том как реализовать дополнительные поля в профиле пользователей WordPress
Как реализовать:
1. Для реализации дополнительных полей мы создадим свой плагин, для этого создайте в папке с вашим шаблоном пустой php файл, и назовите его к примеру add_fields.php, затем поместите в него следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
<?php /* Plugin Name: Дополнительные поля для профиля Description: Добавляет новые поля в профиль пользователя. Version: 1.0 */ ### дополнительные данные на странице профиля add_action('show_user_profile', 'my_profile_new_fields_add'); add_action('edit_user_profile', 'my_profile_new_fields_add'); add_action('personal_options_update', 'my_profile_new_fields_update'); add_action('edit_user_profile_update', 'my_profile_new_fields_update'); function my_profile_new_fields_add(){ global $user_ID; $accaunt = get_user_meta( $user_ID, "user_accaunt", 1 ); ?> <h3>Дополнительные данные</h3> <table class="form-table"> <tr> <th><label for="user_fb_txt">Банковский счет</label></th> <td> <input type="text" name="user_accaunt" value="<?php echo $accaunt ?>"><br> </td> </tr> </table> <?php } // обновление function my_profile_new_fields_update(){ global $user_ID; update_user_meta( $user_ID, "user_accaunt", $_1POST['user_accaunt'] ); } |
P.S При создании плагина просьба убрать вот здесь единичку:
1 |
$_1POST |
И вот что мы получили — страница редактирования профиля в панели администратора:
Также мы можем добавить дополнительные поля с контактными данными, для этого добавляем в самый конец созданного нами файла добавляем следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 |
function modify_contact_methods( $contact_fields ) { // Новые поля $contact_fields['twitter'] = 'Twitter Username'; $contact_fields['facebook'] = 'Facebook URL'; $contact_fields['gplus'] = 'Google+ URL'; // удаляем имеющиеся unset( $contact_fields['jabber'] ); return $contact_fields; } add_filter('user_contactmethods', 'modify_contact_methods'); |
И вот что мы получили:
Для того, чтобы получить новые поля в шаблоне для вывода, используйте такую функцию
1 |
get_the_author_meta(): |
Вот так
1 |
$twitterHandle = get_the_author_meta('twitter'); |
Готово.