Executando verificação de segurança...
1

Wordpress: Adicionar uma pesquisa em overlay (sem plug-in)

Neste tutorial, aprenderemos como criar ou adicionar uma caixa de pesquisa de sobreposição de tela inteira no Wordpress.

Ao longo de todo o código, usaremos algum código PHP, Jquery e CSS.

Criando uma pesquisa em tela cheia no Wordpress
A primeira coisa que você precisa fazer é adicionar algum código PHP em seu functions.php arquivo de temas.

add_filter( 'wp_nav_menu_items', 'wg_theme_menu_extras', 10, 2 );

function wg_theme_menu_extras( $menu, $args ) {
   if ('primário'!== $args->theme_location)
   	retornar $menu;

   ob_start();
       $search = '';
   $menu .= '<li class="nav-link-search"><a href="#search" class="toggle-search-box"><i class="fas fa-search"></i> </a></li>' . $search . '</li>';

   retornar $menu;
}

if (! is_admin()){

   // Registra o arquivo javascript customizado
   wp_register_script( 'custom-js', get_stylesheet_directory_uri().'/js/search.js', array('jquery'), NULL, true);

   // Enfileira o arquivo JavaScript
   wp_enqueue_script('custom-js');

   $wnm_custom = array( 'stylesheet_directory_uri' => get_stylesheet_directory_uri() );

   // Agora inclua os dados localizados em todas as páginas
   wp_localize_script( 'custom-js', 'directory_uri', $wnm_custom );

   // Adicionar formulário de pesquisa ao rodapé
   add_action( 'wp_footer', 'ult_fs_search' );

}

function ult_fs_search() {

   ?>
   <div id="ult-fs-search">
   	<button type="button" class="close">×</button>
   	<form role="search" class="form-search" method="get" id="searchform" action="<?php echo home_url( '/' );?>" >
   		<input type="text" value="" name="s" placeholder="Digite suas palavras-chave aqui" />
   		<button type="submit" class="btn btn-primary">Pesquisar</button>
   	</form>
   </div>
   <?php

}

Depois de colocar o código acima no arquivo de funções, precisamos adicionar algum CSS à folha de estilo . O CSS está abaixo.

#ult-fs-search {
    posição: fixa;
    topo: 0px;
    esquerda: 0px;
    largura: 100%;
    altura: 100%;
    cor de fundo: rgba(0, 0, 0, 0,7);
    webkit-transition: todos os 0,5s de facilidade de entrada e saída;
    -moz-transition: todos os 0,5s de facilidade de entrada e saída;
    -o-transition: todos os 0,5s de facilidade de entrada e saída;
    -ms-transition: todos os 0,5s de facilidade de entrada e saída;
    transição: todos os 0,5s de facilidade de entrada e saída;
    -webkit-transform: translate(0px, -100%) scale(0, 0);
    -moz-transform: translate(0px, -100%) scale(0, 0);
    -o-transform: translate(0px, -100%) scale(0, 0);
    -ms-transform: translate(0px, -100%) scale(0, 0);
    transform: translate(0px, -100%) scale(0, 0); opacidade: 0;
}

#ult-fs-search.open {
    -webkit-transform: translate(0px, 0px) scale(1, 1);
    -moz-transform: translate(0px, 0px) scale(1, 1);
    -o-transform: translate(0px, 0px) scale(1, 1);
    -ms-transform: translate(0px, 0px) scale(1, 1);
    transform: translate(0px, 0px) scale(1, 1);
    opacidade: 1;
    plano de fundo: rgba(27, 220, 186, 0,95);
}
#ult-fs-search input[type="text"] {
    posição: absoluta;
    superior: 50%;
    largura: 100%;
    cor: rgb(0, 0, 0);
    plano de fundo: rgba(0, 0, 0, 0);
    tamanho da fonte: 60px;
    peso da fonte: 300;
    alinhamento de texto: centro;
    borda: 0px;
    margem: 0px automático;
    margem superior: -51px;
    padding-left: 30px;
    padding-right: 30px;
    contorno: nenhum;
}

#ult-fs-search .btn {
    posição: absoluta;
    superior: 50%;
    esquerda: 50%;
    margem superior: 61px;
    margem esquerda: -45px;
}

#ult-fs-search .close {
    posição: fixa;
    superior: 15px;
    direita: 15px;
    cor: #fff;
    cor de fundo: #428bca;
    cor da borda: #357ebd;
    opacidade: 1;
    preenchimento: 10px 17px;
    tamanho da fonte: 27px;
}

Depois de tudo isso, você precisa adicionar o código Jquery. Primeiro, navegue até wp-content>>themes>>your-theme .

No arquivo de temas, você deve ver uma pasta js . Se não, então você precisa criar a pasta js .

Depois disso, crie um arquivo chamado a search.jse adicione o seguinte código a ele.

jQuery( função () {
	jQuery('a[href="#search"]').on('click', function(event) {
		event.preventDefault();
		jQuery('#ult-fs-search').addClass('open');
		jQuery('#ult-fs-search > form > input[type="text"]').focus();
	});
	jQuery('#ult-fs-search, #ult-fs-search button.close').on('click keyup', function(event) {
		if (event.target == this || event.target.className == 'fechar' || event.keyCode == 27) {
			jQuery(this).removeClass('abrir');
		}
	});
});
Carregando publicação patrocinada...