Плагин будет сортировать пользователей по имени пользователя
По мере того, как я буду совершенствовать свой самый популярный плагин, он будет хранить специальное число, декодированное с даты рождения пользователя, которое является расширенным полем BuddyPress в bp_xprofile_data
. Все пользователи получают число от 1 до 260, и я составлю список пользователей BuddyPress на основе этого числа.
Похоже, что существует по крайней мере два установленных метода хранения расширенных пользовательских данных в таблице usermeta
. Есть 4 возможных метода, которые я могу себе представить:
- Используйте BuddyPress
bp_xprofile_data
таблица - Используйте таблицу
usermeta
- Добавьте поле в таблицу
wp_users
, чтобы я мог получитьuser_id
с "самым быстрым PHP на западе" - Создайте новую таблицу для моего потрясающего плагина
Мне нужен код, который, конечно, эффективен с ресурсами, так как в загоне будет много собак.
Рекомендуется ли вставлять число в usermeta
и извлекать его с помощью запроса, что-то вроде этого?
$users_by_kin = "SELECT *
FROM ".$wpdb->prefix."usermeta
WHERE meta_key='kin_id'
AND meta_value='$kin_id'"
Какой метод считается лучшим Практика WP?
1 answers
Если вам нужны рекомендации по использованию перечисленных вами опций, используйте мета-таблицу пользователей.
Добавление столбца в таблицу пользователей было бы худшим, что вы могли бы сделать - возиться со структурой таблиц WP по умолчанию - это нет-нет.
Два других варианта будут находиться где-то посередине - при этом наименее предпочтительным будет добавление вашей собственной таблицы.
Но почему бы вам не использовать класс WP_User_Query?
$user_by_kin = new WP_User_Query(
array(
'meta_key' => 'kin_id',
'meta_value' => $kin_id,
'meta_compare' => '='
)
);