Поддержка Плагины создание мета поля в таблице wp_usermeta

  • Помогите, пожалуйста, сделать следующее:

    При активации плагина необходимо добавить дополнительное поле для всех пользователей в таблицу wp_usermeta.
    Нашел функцию update_user_meta(), для одного пользователя я понял как она работает, но как добавить поле для всех имеющихся пользователей? Какой цикл и с какими параметрами лучше использовать?

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Выбираете всех пользователей из таблицы wp_users и прогонете в цикле вызывая апдейт нужного метаполя. Разово так можно сделать — ничего страшного нет в этом. Ну не миллион же юзеров у вас.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Выбираете всех пользователей из таблицы wp_users

    По возможности лучше использовать API вместо прямых запросов, т.е. функцию get_users().

    В данном случае особой разницы нет, но в других может быть — например, если нужные данные уже есть в кеше и нет необходимости выполнять повторный запрос.

    Выбираете всех пользователей из таблицы wp_users и прогонете в цикле вызывая апдейт нужного метаполя. Разово так можно сделать — ничего страшного нет в этом. Ну не миллион же юзеров у вас.

    По возможности лучше использовать API вместо прямых запросов, т.е. функцию get_users().

    Спасибо за вашу помощь, но если вас не затруднит, то можно показать пример самого кода

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    По ссылке, которую я дал, есть целых три примера 🙂

    За ссылку на примеры спасибо, и честным образом я пытался в них въехать. Просто эти примеры написаны для программистов, а я пользователь, который хочет самостоятельно создать плагин. Оплатить работу программиста у меня нет возможности, а реализовать свою задумку очень хочеться. (создание на базе вордпресса социальной среды для школьников для освоения арифметики).

    Если можно, проверьте составленный код, вроде он работает так как мне надо, но может что-то я вновь не учел:

    <?php
    	$score = get_users('ID');
            foreach ($score as $user) 
    	add_user_meta( $user->ID, 'user_score', 10, true );
    ?>
Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «создание мета поля в таблице wp_usermeta» закрыта для новых ответов.