SearchWP Documentation

Consultez le guide d’installation, parcourez la base de connaissances, découvrez les nombreux hooks de SearchWP

Ajouter le contenu PDF à l'extrait du résultat de recherche

L'une des fonctionnalités les plus puissantes de SearchWP est la capacité d'attribuer le poids d'un résultat d'un article à un autre.

Par exemple : lorsque vous attachez des médias WordPress à un article, cet article est le « parent » de ce fichier média. Vous pouvez indiquer à SearchWP que lorsqu'il trouve un poids de résultat de recherche pour les médias, il ne doit pas créer de lien vers la page d'attachement elle-même (que peu de gens utilisent de toute façon) et transférer plutôt ce poids de recherche au parent.

Capture d'écran du transfert de poids parent

Lorsque vous avez configuré SearchWP de cette manière, les médias sont considérés autant que tout autre article, mais les entrées de médias ne seront jamais liées directement sur les pages de résultats de recherche car vous avez transféré tout le poids des mots-clés au parent.

Selon le contenu de votre site, cela peut entraîner un flux de travail plus naturel car votre visiteur est dirigé vers l'article dans lequel un PDF est lié au lieu du PDF lui-même.

Ajout automatique d'extraits PDF contextuels à l'extrait

Vous pouvez aller plus loin avec cette intégration en ajoutant automatiquement un extrait contextuel de chaque PDF « enfant » à l'extrait de votre article dans les pages de résultats de recherche, ce qui indiquera à vos visiteurs (avant qu'ils n'aient cliqué sur l'article parent) qu'il y a eu une correspondance sur un PDF lié dans cet article.

All hooks should be added to your custom SearchWP Customizations Plugin.

<?php
// Add child PDF snippets to SearchWP result excerpt.
// @link https://searchwp.com/documentation/knowledge-base/append-pdf-content-to-search-result-excerpt/
add_filter( 'get_the_excerpt', function( $excerpt ) {
global $post;
if ( ! $post instanceof WP_Post || ! is_search() || post_password_required() || $post->searchwp_excerpt_found ) {
return $excerpt;
}
$post->searchwp_excerpt_found = true;
$attached_pdfs = get_attached_media( 'application/pdf', $post->ID );
if ( empty( $attached_pdfs ) ) {
return $excerpt;
}
// The number of words to include in PDF excerpt.
$pdf_excerpt_length = 20;
foreach ( $attached_pdfs as $attached_pdf ) {
$source = \SearchWP\Utils::get_post_type_source_name( 'attachment' );
$pdf_entry = new \SearchWP\Entry( $source, $attached_pdf->ID, false, false );
$pdf_excerpt = \SearchWP\Sources\Post::get_global_excerpt(
$pdf_entry, get_search_query(), $pdf_excerpt_length
);
if ( \SearchWP\Settings::get( 'highlighting', 'boolean' ) ) {
$pdf_excerpt = \SearchWP\Highlighter::apply( $pdf_excerpt, get_search_query() );
}
if ( ! empty( $pdf_excerpt ) ) {
$pdf_label = get_the_title( $attached_pdf->ID );
$excerpt .= '<br /><br /><strong>' . wp_kses_post( $pdf_label )
. '</strong>: ' . wp_kses_post( $pdf_excerpt );
}
}
return $excerpt;
} );

Lorsque ce filtre est ajouté, votre extrait standard sera affiché sur les pages de résultats de recherche, mais si un article a des PDF enfants contenant des termes de recherche, ces PDF spécifiques seront signalés par leur titre avec un extrait contextuel de support de ce PDF, incluant au moins un des termes de recherche. Ces signalements sont ajoutés à l'extrait d'origine, vous ne perdez donc pas ces précieuses informations dans ce processus.

Créez dès aujourd'hui une meilleure expérience de recherche WordPress

Ne perdez plus jamais de visiteurs à cause de résultats de recherche inutiles. SearchWP rend la création de votre propre recherche WordPress intelligente rapide et facile.

Get SearchWP Now
Icône de moteurs de recherche multiples