barre de recherche avec effet toogle pour wordpress

Ajouter une barre de recherche au menu principal de votre site sans plugin

Une barre de recherche est un élément très important qui offre à vos visiteurs la possibilité de trouver facilement ce qui ils cherchent. Dans ce tutoriel, on va apprendre comment ajouter facilement une barre de recherche à votre site sous Wordpress. On va ce baser sur le thème Genesis comme exemple, pour y ajouter une barre avec effet toggle.

Barre de recherche sans plugin avec effet toogle

Attention : Avant toute manipulation, il est toujours important de faire une sauvegarde de votre site ( au minimum une sauvegarde de base de donnée et des fichiers de votre thème actuel).

barre de recherche avec effet toogle pour wordpress

La première chose à faire est de créer un fichier javascript avec votre Bloc note, nommé le  » global.js », ensuite copier le code ci-dessous et coller le dans votre fichier global.js :

jQuery(function( $ ){

	$('#main-nav-search-link').click(function(){
		$('.search-div').show('slow');
	});

	$("*", document.body).click(function(event){
		// event.stopPropagation();
		var el = $(event.target);
		var gsfrm = $(el).closest('form');
		if(el.attr('id') !='main-nav-search-link' && el.attr('role') != 'search' && gsfrm.attr('role') != 'search'){
			$('.search-div').hide('slow');
		}
	});

});

A l’aide d’un logiciel FTP comme Filezilla, envoyer ce fichier (global.js) vers le dossier de votre thème actuel à l’emplacement suivant :/js/global.js

La deuxième étape : Ajouter le code suivant dans Functions.php de votre thème :

// Add search 
//* Enqueue scripts and styles
add_action( 'wp_enqueue_scripts', 'custom_enqueue_scripts_styles' );
function custom_enqueue_scripts_styles() {
	wp_enqueue_script( 'global', get_bloginfo( 'stylesheet_directory' ) . '/js/global.js', array( 'jquery' ), '1.0.0', true );

}

add_filter( 'wp_nav_menu_items', 'theme_menu_extras', 10, 2 );
/**
 * Filter menu items to append a search form.
 *
 * @param string   $menu HTML string of list items.
 * @param stdClass $args Menu arguments.
 *
 * @return string Amended HTML string of list items.
 */
function theme_menu_extras( $menu, $args ) {

	if ( 'primary' !== $args->theme_location )
		return $menu;

	$menu .= '<li class="search"><a id="main-nav-search-link" class="icon-search"></a><div class="search-div">' . get_search_form( false ) . '</div></li>';
	
	return $menu;

}

//* Customize search form input button text
add_filter( 'genesis_search_button_text', 'sp_search_button_text' );
function sp_search_button_text( $text ) {
	return esc_attr( 'Ok' );
}

La dernière étape : Ajouter le code Css suivant au fichier style.css de votre thème :

/*
Animated Search Form
---------------------------------------------------------------------------------------------------- */

.nav-primary .genesis-nav-menu > .search {
	display: inline-block;
	position: relative;
	width: auto;
	padding: 0;
}

li a.icon-search:before {
	font-family: icomoon;
	font-weight: normal;
	font-style: normal;
	text-decoration: inherit;
	content: "\f002";font-size:18px;
}

li a.icon-search {
	cursor: pointer;
}

/*li a.icon-search:hover {
	border-bottom: none;
}*/

.search-div {
	display: none;
	position: absolute;
	z-index: 10;
	right: 0;
	width: 700px;
	/*padding: 4px;*/
	-webkit-border-radius: 0 0 6px 6px;
	border-radius: 0 0 6px 6px;
	background: #171616;
	margin-top: -40px;
}

.search-div .search-form {
	position: relative;
}

.search-div .search-form input[type="search"] {
	width: 100%;
padding: 10px;
font-size: 16px;
background-color:
#f2f2f2;
border: 1px solid #fd043c;
}

.search-div .search-form input[type="submit"] {
	position: absolute;
	right: 2px;
	bottom: 1px;
	padding: 10px 13px;
	-webkit-border-radius: 0;
	border-radius: 0;
}

/* Clear search field placeholder text on focus */
input:focus::-webkit-input-placeholder {
	color: transparent;
}
input:focus:-moz-placeholder {
	color: transparent;
} /* Firefox 18- */
input:focus::-moz-placeholder {
	color: transparent;
} /* Firefox 19+ */
input:focus:-ms-input-placeholder {
	color: transparent;
} /* oldIE ;) */

@media only screen and (max-width: 960px) {
	.nav-primary .genesis-nav-menu > .search {
		display: block;
		text-align: left;
	}
	.search-div {
		left: 0;width:auto;
	}
}

@media only screen and (max-width: 340px) {
	.search-div {
		width: auto;
	}
}

Maintenant sauvegarder vos modification et n’oublier pas de vider le cache de votre site si vous utiliser un plugin de cache . visitez votre site pour voir la barre de recherche avec effet toogle en action.

Espérant que ce petit tutoriel vous aidera à ajouter une barre de recherche au menu principal de votre site. la barre de recherche a été testé avec le thème Genesis Framwork et elle marche parfaitement.

Article précédent

13 alternatives gratuites et payantes à FeedBurner (meilleur choix 2021)

Article suivant

Réduire le nombre de blocs d'annonces augmente-t-elle vos revenus Adsense?

Laisser un commentaire

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *