Плагин будет сортировать пользователей по имени пользователя


По мере того, как я буду совершенствовать свой самый популярный плагин, он будет хранить специальное число, декодированное с даты рождения пользователя, которое является расширенным полем BuddyPress в bp_xprofile_data. Все пользователи получают число от 1 до 260, и я составлю список пользователей BuddyPress на основе этого числа.

Похоже, что существует по крайней мере два установленных метода хранения расширенных пользовательских данных в таблице usermeta. Есть 4 возможных метода, которые я могу себе представить:

  1. Используйте BuddyPress bp_xprofile_data таблица
  2. Используйте таблицу usermeta
  3. Добавьте поле в таблицу wp_users, чтобы я мог получить user_id с "самым быстрым PHP на западе"
  4. Создайте новую таблицу для моего потрясающего плагина

Мне нужен код, который, конечно, эффективен с ресурсами, так как в загоне будет много собак.

Рекомендуется ли вставлять число в usermeta и извлекать его с помощью запроса, что-то вроде этого?

$users_by_kin = "SELECT * 
    FROM ".$wpdb->prefix."usermeta 
    WHERE meta_key='kin_id' 
    AND meta_value='$kin_id'"

Какой метод считается лучшим Практика WP?

Author: Gabriel, 2015-03-12

1 answers

Если вам нужны рекомендации по использованию перечисленных вами опций, используйте мета-таблицу пользователей.

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

Два других варианта будут находиться где-то посередине - при этом наименее предпочтительным будет добавление вашей собственной таблицы.

Но почему бы вам не использовать класс WP_User_Query?

 $user_by_kin = new WP_User_Query( 
    array( 
        'meta_key' => 'kin_id', 
        'meta_value' => $kin_id, 
        'meta_compare' => '=' 
    ) 
);
 0
Author: butlerblog, 2015-03-13 04:15:03