Свеклорезка member php action profile

Однако расширение может потребоваться и по другим причинам. Предположим у вас на блоге пишут посты многие авторы. А вы хотите знать о них всё! Ну или хотя бы номер телефона и Webmoney-реквизиты, чтобы как-то оплачивать им работу.

Никаких плагинов мы использовать не будем. Короче вот вам пример кода, который нужно засунуть в functions.php, сейчас расскажу, что к чему.

<?php function show_profile_fields( $user ) { ?>   	<h3>Дополнительная информация</h3>  	<!-- добавляется ещё один блок в профиле, в примере он будет называться "Дополнительная информация" -->  	<table class="form-table">  	<!-- для того чтобы ваши поля выглядели так же, как и стандартные в WordPress, прописывайте такие же классы как и тут -->  	<!-- добавляем поле город -->  	<tr><th><label for="city">Город</label></th>  	<td><input type="text" name="city" id="city" value="<?php echo esc_attr(get_the_author_meta('city',$user->ID));?>" class="regular-text" /><br /></td></tr>  	<!-- добавляем поле пол -->  	<th><label for="gender">Пол</label></th>  	<td><?php $gender = get_the_author_meta('gender',$user->ID ); ?>  		<ul>  			<li><label><input value="мужской" name="gender"<?php if ($gender == 'мужской') { ?> checked="checked"<?php } ?> type="radio" /> мужской</label></li>  			<li><label><input value="женский"  name="gender"<?php if ($gender == 'женский') { ?> checked="checked"<?php } ?> type="radio" /> женский</label></li>  		</ul>			  	</td></tr>  	<!-- закрываем теги и применяем функцию -->  	</table>  <?php } add_action( 'show_user_profile', 'show_profile_fields' ); add_action( 'edit_user_profile', 'show_profile_fields' );

Чтобы поля работали, недостаточно только одной этой функции, поля конечно появятся, но не будут сохраняться, поэтому дополняем код вот этим:

function save_profile_fields( $user_id ) { 	update_usermeta( $user_id, 'city', $_POST['city'] ); 	update_usermeta( $user_id, 'gender', $_POST['gender'] ); }   add_action( 'personal_options_update', 'save_profile_fields' ); add_action( 'edit_user_profile_update', 'save_profile_fields' );

Вот как это будет выглядеть в админке на странице редактирования пользователя:

пример дополнительных полей в профиле

Существуют ещё некоторые способы добавления и удаления полей в профиле.

Свеклорезка member php action profile

Миша

Впервые познакомился с WordPress в 2009 году. С 2014 года меня можно встретить на WordCamp по всему миру — официальной конфе по WordPress, иногда там выступаю, но с 2019 выступаю только на тех, которые сам организовываю. Также периодически школа Epic Skills и LoftSchool приглашают меня вести у них уроки/вебинары.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля — пишите мне.



Источник: misha.blog