Как искать по имени и фамилии в user.phpPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как искать по имени и фамилии в user.php

Сообщение Anonymous »

Поэтому мне нужно иметь возможность искать пользователей по их именам в файлеusers.php. По умолчанию Wordpress ищет только имя пользователя. Существует действие pre_user_query, которое позволяет вам редактировать WP_User_Query и добавлять любые критерии, которые могут вам понадобиться. На обычном Wordpress все работает отлично. Однако при использовании на нескольких сайтах страница результатов поиска ведет себя странно.
Когда я ищу, например, имя Ник, меня встречает единственный результат, даже если есть несколько пользователей с именем Ник или другие имена, содержащие эту строку (например, Янник). Еще более странно то, что нумерация страниц показывает, что имеется более 300 страниц, хотя в результатах отображается только одна. Если я меняю страницу, отображается тот же результат.
Изображение

Вот код, который у меня есть

Код: Выделить всё

add_action('pre_user_query','extend_user_search');
function extend_user_search( $u_query ) {
if ( $u_query->query_vars['search'] ) {
global $wpdb;

$search_query = trim( $u_query->query_vars['search'], '*' );

// Adding first name to the search
$u_query->query_from .= " JOIN {$wpdb->usermeta} fname ON fname.user_id = {$wpdb->users}.ID AND fname.meta_key = 'first_name'";

// Adding last name to the search
$u_query->query_from .= " JOIN {$wpdb->usermeta} lname ON lname.user_id = {$wpdb->users}.ID AND lname.meta_key = 'last_name'";

$search_by = array( 'user_login', 'user_email', 'fname.meta_value', 'lname.meta_value' );

$u_query->query_where = $u_query->get_search_sql( $search_query, $search_by, 'both' );
}
}
Я тестировал его на стандартном Wordpress, и он работает нормально. Проблема действительно связана с многосайтовой установкой. Все пользователи привязаны к одному конкретному блогу, в котором я пробую этот код.
Для справки: первоначальное решение я получил из этой статьи, и кажется, что я не единственный у кого такая проблема. Комментарии сейчас закрыты, поэтому я не смог спросить, есть ли у кого-нибудь решение.
Есть ли у кого-нибудь идеи, почему эта проблема характерна только для мультисайтов и как ее решить?
п>

Подробнее здесь: https://stackoverflow.com/questions/784 ... -users-php
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»