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).
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.
Laisser un commentaire