delete_user_meta()

Удаляет мета-поля пользователя с определённым ID.

Функция позволяет удалять метаданные как по ключу, так и по паре ключ и значение, что помогает избежать удаления дубликатов (метаданных с одним и тем же ключом).

До версии WordPress 3.0 мы использовали функцию delete_usermeta() для этой цели.

Возвращает true, если метаданные были удалены, false – если не были. Например, если был указан ID несуществующего пользователя.

delete_user_meta( $user_id, $meta_key, $meta_value = '' )

Параметры

$user_id
(целое число) ID пользователя.
$meta_key
(строка) Ключ метаданных для удаления.
$meta_value
Если вдруг у вас в базе данных несколько значений мета-поля с одним и тем же ключом, то, если вы укажете этот параметр, то функция удалит только те из них, чьи значения будут соответствовать, иначе – все.

Примеры

Предположим, что мы добавили несколько полей в профили пользователей, например «Город» и «Пол» – в этом уроке можете глянуть.

Давайте удалим эти поля!

// удалили все значения полей города и пола для пользователя с ID 552
delete_user_meta( 552, 'city' );
delete_user_meta( 552, 'gender' );

Теперь давайте предположим, что у одного пользователя может быть несколько значений города в мета-полях. Причём каждое из них – записано в отдельное поле. Давайте удалим только то из них, которое соответствует одному городу – Сидней.

delete_user_meta( 552, 'city', 'Сидней' );

А ещё добавим проверку, существовало ли у пользователя такое значение поля:

if ( ! delete_user_meta( 552, 'city', 'Сидней' ) ) {
	echo 'Этот юзер не был в Сиднее..';
} else {
	echo 'По идее был, но теперь считай не был';
}

А теперь давайте удалим именно поле со значением города «Сидней» у всех пользователей! Тогда нам как-то нужно будет получить их в цикле, думаю вполне сойдёт WP_User_Query для построения цикла.

$users = new WP_User_Query( array( 'fields' => 'ID' ) );
 
if ( ! empty( $users->results ) ) {
	foreach ( $users->results as $user_id ) {
		delete_user_meta( $user_id, 'city', 'Сидней' );
	}
}

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.