Поддержка Проблемы и решения Добавить своё поле в _users

  • Требуется дополнительное поле в таблице wp_users. Как правильно следует его добавить?
    Нужно прям поле в таблице users, другие варианты не подходят. Я просто думаю если, я добавлю поле, не будет ли ошибок при регистрации и вообще при обращение к этой таблице ВПшкой?
    Буду благодарен за любые советы, подсказки!

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Модератор Yuri

    (@yube)

    другие варианты не подходят

    Точно? В 99% случаев user meta более чем достаточно.

    не будет ли ошибок

    Если при добавлении ничего не сломаете, то проблем быть не должно.

    user meta это лишний груз, данные пользователя всегда подгружаются легче из них взять, чтоб лишние запросы не делать. Итог:
    Добавил через ПМА в структуру еще одно поле, все вроде работает.
    В PHP обращаюсь

    $userid = get_current_user_id();
    $user_info = get_userdata($userid);
    echo $user_info->имяполя

    🙂

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    К полям из wp_usermeta можно обращаться точно так же 🙂

    Да, но к данным пользователя я обращаюсь один раз и получаю все что мне требуется, а если через юзермета, то нужно еще раз обращаться к базе, лишний груз поэтому. А если еще и поле не одно нужно то, к базе через юзермету придется обращаться еще столько же раз сколько полей требуется.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    А если еще и поле не одно нужно то, к базе через юзермету придется обращаться еще столько же раз сколько полей требуется.

    Вовсе нет, при чтении одного поля функция update_meta_cache() читает также все остальные и сохраняет в кеше объектов.

    лишний груз поэтому.

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

    goodwin74, удачных вам обновлений движка

    @goodwin74 после обновления вордпресса этот костыль может слететь.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «Добавить своё поле в _users» закрыта для новых ответов.