SearchWP Documentation

Visualizza la guida all'installazione, sfoglia la Knowledge Base, scopri i numerosi hook di SearchWP

Aggiungi contenuto PDF all'estratto dei risultati di ricerca

Una delle funzionalità più potenti di SearchWP è la capacità di attribuire il peso di un risultato di un post a un altro.

Ad esempio: quando si allega Media di WordPress a un Post, quel Post è il 'genitore' di quel file multimediale. È possibile indicare a SearchWP che, quando trova un peso di risultato di ricerca per i Media, di non collegarsi alla pagina di allegato stessa (che comunque non molte persone utilizzano) e di trasferire invece quel peso di ricerca al genitore.

Screenshot del trasferimento del peso del genitore

Quando hai configurato SearchWP in questo modo, i Media vengono considerati tanto quanto qualsiasi altro post, ma le voci multimediali non saranno mai collegate direttamente nelle pagine dei risultati di ricerca perché hai trasferito tutto il peso delle parole chiave al genitore.

A seconda del contenuto del tuo sito, questo può comportare un flusso di lavoro più naturale perché il tuo visitatore viene indirizzato al post in cui è collegato un PDF invece che al PDF stesso.

Aggiunta automatica di snippet PDF contestuali all'estratto

Puoi portare questa integrazione un passo avanti aggiungendo automaticamente uno snippet contestuale da ciascun PDF 'figlio' all'estratto del tuo post nelle pagine dei risultati di ricerca, il che indicherà ai tuoi visitatori (prima che abbiano cliccato sul post genitore) che c'è stato un riscontro su un PDF collegato all'interno di quel post.

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

Quando questo filtro viene aggiunto, il tuo estratto standard verrà mostrato nelle pagine dei risultati di ricerca, ma se un post ha PDF figli che contengono termini di ricerca, quei PDF specifici verranno evidenziati per titolo con un estratto contestuale di supporto da quel PDF, includendo almeno uno dei termini di ricerca. Queste evidenziazioni vengono aggiunte all'estratto originale, quindi non perdi preziose informazioni in questo processo.

Crea Oggi Stesso una Migliore Esperienza di Ricerca WordPress

Non perdere mai più visitatori a causa di risultati di ricerca inutili. SearchWP rende la creazione della tua ricerca intelligente WordPress veloce e facile.

Get SearchWP Now
Icona di motori di ricerca multipli