No WordPress, temos os tipos personalizados, onde podemos definir o tipo de informação que queremos cadastrar. Essa opção nos permite diversificar, e customizar muito nossos projetos.
Por padrão, a busca realizada no WordPress, é feito no tipo Post, mas as vezes você deseja que seja pesquisada em todos os tipos personalizados, e públicos, que você criou.
Para realizar esse procedimento, você poderá fazer dessa forma:
Acesse o arquivo functions.php do seu tema, e vamos agora criar uma função (O código estará comentado, para uma facilitar o entendimento):
//Cria uma função function enable_search_all_type($query){ //Verifica se na página de busca, e se é o loop principal if(is_search() && is_main_query()){ //Retorna todos os tipos personalizados } $types = get_post_types(array('public' => true, 'exclude_from_search' => false), 'objects'); //Inicia um array $searchable = array(); //Verifica se retornou algum tipo personalizado if($types) { //Percorre os elementos foreach( $types as $type) { //Atribui o nome do Tipo ao array $searchable[] = $type->name; } } //Passa os tipos personalizados públicos ao loop $query->set('post_type', $searchable); } return $query; } //Atribuir a função ao gancho pre_get_posts para alterar a consulta add_action('pre_get_posts', 'enable_search_all_type');
Pronto, dessa forma é possível, você consegue definir no WordPress, que a pesquisa seja realizada em todos os tipos públicos.
Você deseja aprender mais sobre personalizar consultas, criação de temas no WordPress, nós temos um excelente curso, que ajudará no seu aprendizado.