MX Cursos

Pesquisar em todos os tipos personalizados no WordPress

Pesquisar em todos os tipos personalizados no WordPress

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.

Clube de Cursos Clube de Cursos

Conheça nosso Clube de Cursos e potencialize suas habilidades em Produção e Edição de Vídeos, Design, Marketing Digital, Programaço, WordPress, 3D e Modelagem, Motion Graphics e muito mais!

CONHEÇA O CLUBE