SearchWP Documentation

Consulta la guía de instalación, explora la base de conocimiento, descubre los numerosos hooks de SearchWP

Añadir contenido PDF al extracto de resultados de búsqueda

Una de las características más potentes de SearchWP es la capacidad de atribuir el peso de los resultados de una publicación a otra.

Por ejemplo: cuando adjuntas Medios de WordPress a una Publicación, esa Publicación es la 'principal' de ese archivo multimedia. Puedes decirle a SearchWP que cuando encuentre peso de resultado de búsqueda para Medios, que no enlace a la página de Adjunto en sí (que de todos modos no mucha gente usa) y en su lugar transfiera ese peso de búsqueda al principal.

Captura de pantalla de transferencia de peso principal

Cuando has configurado SearchWP de esta manera, los Medios se consideran tanto como cualquier otra publicación, pero las entradas de Medios nunca se enlazarán directamente en las páginas de resultados de búsqueda porque has transferido todo el peso de las palabras clave al principal.

Dependiendo del contenido de tu sitio, esto puede resultar en un flujo de trabajo más natural porque tu visitante es dirigido a la publicación en la que se enlaza un PDF en lugar del PDF en sí.

Anexar automáticamente fragmentos contextuales de PDF al extracto

Puedes llevar esta integración un paso más allá al anexar automáticamente un fragmento contextual de cada PDF 'hijo' al extracto de tu publicación en las páginas de resultados de búsqueda, lo que indicará a tus visitantes (antes de que hayan hecho clic en la publicación principal) que hubo una coincidencia en un PDF enlazado dentro de esa publicación.

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;
} );

Cuando se agrega este filtro, tu extracto estándar se mostrará en las páginas de resultados de búsqueda, pero si una publicación tiene PDFs hijos que contienen términos de búsqueda, esos PDFs específicos se destacarán por título con un extracto contextual de apoyo de ese PDF que incluye al menos uno de los términos de búsqueda. Estas llamadas se anexan al extracto original, por lo que no pierdes esa valiosa información en este proceso.

Cree hoy mismo una mejor experiencia de búsqueda en WordPress

No vuelva a perder visitantes por resultados de búsqueda inútiles. SearchWP facilita la creación de su propia búsqueda inteligente en WordPress.

Get SearchWP Now
Icono de múltiples motores de búsqueda