WordPress как на ладони
wordpress jino

delete_user_meta() WP 3.0

Удаляет указанные метаданные определенного пользователя.

Можно определять опцию для удаления по ключу ($meta_key) или одновременно по ключу и значению ключа ($meta_key, $meta_value). Удаление по ключу и значению оберегает от удаления дублирующих опций, у которых ключи одинаковые. А если указать только ключ, то будут удалены все опции с указанным ключом (их может быть несколько).

Метаданные пользователя - это аналог произвольных полей у постов. Только тут пост это пользователь. Сохраняются такие данные в таблицу wp_usermeta.

Используется в: delete_user_option().
Работает на основе: delete_metadata()

Хуков нет.

Возвращает

true или false, от успешного или не успешного удаления.

Использование

delete_user_meta( $user_id, $meta_key, $meta_value );
$user_id(число) (обязательный)
ID пользователя.
По умолчанию: нет
$meta_key(строка) (обязательный)
Название опции которую нужно удалить.
По умолчанию: нет
$meta_value(строка)
Значение опции, которую нужно удалить. Работает в связке с параметром $meta_key.
По умолчанию: ''

Примеры

#1. Удалим опцию _province у пользователя 9:

$user_id = 9;
if ( ! delete_user_meta($user_id, '_province') ) {
	echo "Оооопс! Ошибочка случилась во время этой операции!";
}

Код delete user meta: wp-includes/user.php WP 4.9

<?php
function delete_user_meta($user_id, $meta_key, $meta_value = '') {
	return delete_metadata('user', $user_id, $meta_key, $meta_value);
}

Cвязанные функции

Из раздела: Метаданные (usermeta)

delete_user_meta 6 комментариев
  • campusboy1948 cайт: www.youtube.com/c/wpplus

    А как можно удалить сразу все метаданные пользователя?

    Ответить1.7 года назад #
    • Kama4659

      Прям все? Там же имя, nickname есть... Через функции ВП кажется никак, только запросом:

      global $wpdb;
      $user_id = 10;
      $done = $wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id = ". (int) $user_id );
      var_dump( $done );
      1
      Ответить1.7 года назад #
      • campusboy1948 cайт: www.youtube.com/c/wpplus

        Когда удаляешь пользователя с админки - удаляются и его метаданные стандартные. А вот кастомные - сейчас будут тестировать. Если что - код твой пригодиться. Спасибо большое, в который раз выручаешь!

        Ответить1.7 года назад #
        • Kama4659

          По-моему там все поля удаляются, примерно такой код как я дал там используется, если не все, то я очень удивлюсь... Ну ты дай знать, коли так - это будет попахивать багом...

          Ответить1.7 года назад #
        • Kama4659

          Да да, так и есть удаляется все! Вот фрагмент из wp_delete_user()

                  $meta = $wpdb->get_col( $wpdb->prepare( "SELECT umeta_id FROM $wpdb->usermeta WHERE user_id = %d", $id ) );
          		foreach ( $meta as $mid )
          			delete_metadata_by_mid( 'user', $mid );

          Собственно так, грамотнее всего удалять...

          Ответить1.7 года назад #
          • campusboy1948 cайт: www.youtube.com/c/wpplus

            Да, так и есть - всё стирается с корнем smile только что опробовал.

            Ответить1.7 года назад #

Здравствуйте, !

Ваш комментарий