2017-10-20 14 views
1

Par défaut, WordPress affiche dans les résultats de recherche les en-têtes des pages trouvées et le début du contenu de la page dans l'extrait.Comment faire l'extrait dans les résultats de recherche WordPress montre le morceau de texte contenant les mots trouvés?

Est-il possible de modifier l'extrait dans les résultats de recherche afin qu'il montrerait pas le début de contenu, mais un morceau de texte où les mots recherchés se trouvent?

À titre d'exemple: disons, nous avons la page suivante trouvée par la recherche:

  • tête
  • 1 paragraphe
  • 2 paragraphe
  • 3 paragraphe - contenant les mots recherchés
  • 4 paragraphe

Par défaut, il sera affiché dans les résultats de recherche comme:

  • tête
  • 1 paragraphe

Et je le veux ainsi:

  • tête
  • 3 paragraphe - contenant les mots recherchés

Est-il possible, et si oui, comment? Merci d'avance!

Répondre

0

Vous aurez créer votre fichier search.php. Vous devez inclure la boucle Wordpress dans votre modèle search.php pour parcourir les résultats de la recherche et les afficher dans le modèle (get_template_part ('content', 'search')). Dans le modèle, vous pouvez montrer tout ce que vous voulez. Par exemple, utilisez la fonction preg_match pour trouver votre texte de recherche dans la page et afficher seulement elle

<section id="primary" class="content-area"> 
     <div id="content" class="site-content" role="main"> 

     <?php if (have_posts()) : ?> 

      <header class="page-header"> 
       <h1 class="page-title"><?php printf(__('Search Results for: %s', 'shape'), '<span>' . get_search_query() . '</span>'); ?></h1> 
      </header><!-- .page-header --> 

      <?php shape_content_nav('nav-above'); ?> 

      <?php /* Start the Loop */ ?> 
      <?php while (have_posts()) : the_post(); ?> 

       <?php get_template_part('content', 'search'); ?> 

      <?php endwhile; ?> 

      <?php shape_content_nav('nav-below'); ?> 

     <?php else : ?> 

      <?php get_template_part('no-results', 'search'); ?> 

     <?php endif; ?> 

     </div><!-- #content .site-content --> 
    </section><!-- #primary .content-area -->