teobandeira

Desenvolvedor Fullstack

Blog

Como ativar a busca de usuários por CNPJ ou qualquer campo personalizado no WordPress

Como ativar a busca de usuários por CNPJ ou qualquer campo personalizado no WordPress

Em resumo, esse código personaliza a consulta de busca de usuários para permitir a busca por CNPJ no campo personalizado “billing_cnpj” e também permite a busca por nome de usuário e ID de usuário. Quando você acessa a página de listagem de usuários no painel de administração e faz uma pesquisa, essa função personalizada ajusta a consulta para incluir o campo “billing_cnpj” no processo de busca.

// Adiciona a busca por CNPJ na listagem de usuários
function project_pre_user_search( $query ) {
global $wpdb;
global $pagenow;

if ('users.php' == $pagenow) {
if( empty($_REQUEST['s']) ){return;}
$query->query_fields = 'DISTINCT '.$query->query_fields;
$query->query_from .= ' LEFT JOIN '.$wpdb->usermeta.' ON '.$wpdb->usermeta.'.user_id = '.$wpdb->users.'.ID';
$query->query_where = "WHERE 1=1 AND (user_login LIKE '%".trim($_REQUEST['s'])."%' OR ID = '".trim($_REQUEST['s'])."' OR (meta_value LIKE '%".trim($_REQUEST['s'])."%' AND meta_key = 'billing_cnpj'))";
}
return $query;
}
add_action( 'pre_user_query', 'project_pre_user_search' );

Como ativar a busca de usuários por CNPJ ou qualquer campo personalizado no WordPress

Uma resposta

  1. if (‘users.php’ == $pagenow) {
    if( empty($_REQUEST[‘s’]) ){return;}
    $query->query_fields = ‘DISTINCT ‘.$query->query_fields;
    $query->query_from .= ‘ LEFT JOIN ‘.$wpdb->usermeta.’ ON ‘.$wpdb->usermeta.’.user_id = ‘.$wpdb->users.’.ID’;
    $query->query_where = “WHERE 1=1 AND (user_login LIKE ‘%”.trim($_REQUEST[‘s’]).”%’ OR ID = ‘”.trim($_REQUEST[‘s’]).”‘ OR (meta_value LIKE ‘%”.trim($_REQUEST[‘s’]).”%’ AND meta_key = ‘billing_cnpj’))”;
    }

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Mais postagens

Se você está buscando um parceiro confiável para transformar sua presença online.

O que é AWS Elastic Container Service (ECS)?

O AWS ECS é um serviço de orquestração de contêineres da AWS que permite implantar, gerenciar e escalar aplicativos baseados em contêineres. Algumas das principais