eurobyte.ru - мощные сервера с Дата-центрами в Нидерландах и Москве. От 159 ₽/мес.

Вывести все значение отдельного поля из wp_usermeta

Подскажите как вывести значение из таблицы wp_usermeta

Вот функция которая выводит все значения из поля my_pole для конкретного пользователя.
Нужна такая же функция, только чтобы не указывать пользователя, просто вывести все значения из meta_key где ключ my_pole

$my_pole = get_user_meta ($user->ID, 'my_pole');
0
lethalblo
3 месяца назад 53
  • 0
    Kama 9829

    Готовой функии под такое нет, нужно делать запрос в БД.

    Используйте $wpdb->get_col() для выборки всех значений:

    global $wpdb;
    
    $meta_key = 'my_pole';
    $sql = $wpdb->prepare( "SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = %s", $meta_key );
    $values = $wpdb->get_col( $sql );
    
    print_r( $values ); // Выведет массив всех значений

    Этот код получит все значения из wp_usermeta, где meta_key равен my_pole.

    lethalblo 3 месяца назад

    Спасибо, работает

    lethalblo 3 месяца назад

    Как оказалось запрос обрабатывается очень долго на одно поле и вовсе памяти не хватает. Как это запрос ограничить чтобы он не всю БД сканировал а например выводил 100 полей первых

    Такой вариант не сработал

    for ($j=0; $j<102; $j++ ):
    $values = $wpdb->get_col( $sql );
    endfor;
    Kama 2 месяца назад
    SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = %s ORDER BY meta_id ASC LIMIT 0,100
    
    // следующая порция из 100 строк
    ... LIMIT 100,100
    ... LIMIT 200,100
    ... LIMIT 300,100
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация