Il est parfois utile, dans le cadre de la création de landing pages dans les projets web et plus particulièrement sous WordPress, de devoir intégrer des résultats de recherche au sein de pages ou d’articles. La solution la plus simple passe par la création d’un simple shortcode 😉
// Ajout shortcode "rechercher" // Usage : [rechercher terme="texte recherché" type="post"] function func_rechercher($atts) { // Extraction des paramètres extract(shortcode_atts(array( 'terme' => '', 'posttype' => 'post' ), $atts)); // Recherche de posts en rapport avec le terme défini $the_query = new WP_Query('s='.$terme.'&post_type='.$posttype); // Boucle sur les résultats if ($the_query->have_posts()) { $html = '<h4>À lire, à propos du terme <span style="color:#888F96">'.$terme.'</span></h4><ul style="border-top:0 !important;">'; while ( $the_query->have_posts() ) { $the_query->the_post(); $html .= '<li><a href="'.get_permalink().'" title="'.get_the_title().'">'.get_the_title().'</a></li>'; } $html .= "</ul>"; } // Reset Post Data wp_reset_postdata(); return $html; } add_shortcode('rechercher', 'func_rechercher');
Langage du code : PHP (php)
Il vous suffit ici de personnaliser la sortie du résultat (que l’on pourra au besoin encadrer par un style CSS). J’ai utilisé ce shortcode dans le cadre du glossaire mis en œuvre sur mon site photo, ce qui donne par exemple, pour le shortcode suivant :
[rechercher terme="hotlink"]
…le résultat visible ici sous la définition du terme hotlink.
Vous avez la possibilité de passer en paramètre le post_type afin de pouvoir utiliser cette fonction sur des domaines précis de vos développements 😉
Voir tous les articles de la catégorie WordPress
Bonjour,
Merci pour ce code ! Le rendu est plutôt pas mal sur le modèle.
amicalement
hello Cedric!!
encore un bon hack pour améliorer son wordpress, dommage que tu ne postes plus de nouveaux bouts de codes sur ce site.