Wordpress расширяет поиск по пользовательскому столбцу Custon - PullRequest
0 голосов
/ 30 апреля 2020

Я добавил со следующим кодом дополнительный столбец для моих пользователей Wordpress. Это прекрасно работает, но поиск по дополнительному столбцу не работает.

   /*****************************************************************************************************
    Add company in user table
    *****************************************************************************************************/
    add_filter( 'manage_users_columns', 'bbloomer_add_new_user_column' );

    function bbloomer_add_new_user_column( $columns ) {   
        $columns['billing_company'] = 'Company';
        return $columns;
    }

    add_filter( 'manage_users_custom_column', 'bbloomer_add_new_user_column_content', 10, 3 );

    function bbloomer_add_new_user_column_content( $content, $column, $user_id ) {

        if ( 'billing_company' === $column ) {
       $customer = new WC_Customer( $user_id );
            $content = $customer->get_billing_company();
        }

        return $content;
    }

Я попытался добавить следующий код для добавления функции поиска (найден на https://wordpress.org/support/topic/adding-custom-user-meta-to-search-field-on-users-page-in-wordpress/). Это работает более или менее. Он (как там описано) становится доступным для поиска, но переписывает все остальные функции поиска. У кого-нибудь есть решение?

function search_by_users_query($query)
{
    global $pagenow;

    if (is_admin() && 'users.php' == $pagenow) {

        //Remove trailing and starting empty spaces
        $the_search = trim($query->query_vars['search']);


        $the_search = trim($query->query_vars['search'], '*');


        $query->set('meta_key', 'billing_company');
        $query->set('meta_value', $the_search);
        $query->set('meta_compare', 'LIKE');


        $query->set('search', '');
    }
}
add_action('pre_get_users', 'search_by_users_query', 20);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...