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

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

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

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

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

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

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

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

    Автор Artemvp

    (@artemvp)

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

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

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

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

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

    Автор Artemvp

    (@artemvp)

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

    Автор Artemvp

    (@artemvp)

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

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