PDF-Inhalt zum Auszug der Suchergebnisse hinzufügen
Eine der mächtigsten Funktionen von SearchWP ist die Möglichkeit, das Gewicht eines Suchergebnisses von einem Beitrag auf einen anderen zu übertragen.
Wenn Sie beispielsweise WordPress-Medien an einen Beitrag anhängen, ist dieser Beitrag der 'Elternteil' dieser Mediendatei. Sie können SearchWP anweisen, dass es, wenn es das Gewicht eines Suchergebnisses für Medien findet, nicht auf die Anhangseite selbst verlinkt (die ohnehin kaum jemand nutzt), sondern dieses Suchgewicht stattdessen auf den Elternteil überträgt.
Wenn Sie SearchWP auf diese Weise konfiguriert haben, werden Medien genauso berücksichtigt wie jeder andere Beitrag, aber Medien-Einträge werden auf Suchergebnisseiten niemals direkt verlinkt, da Sie das gesamte Schlüsselwortgewicht auf den Elternteil übertragen haben.
Abhängig vom Inhalt Ihrer Website kann dies zu einem natürlicheren Workflow führen, da Ihr Besucher zum Beitrag geleitet wird, in dem eine PDF-Datei verlinkt ist, anstatt zur PDF-Datei selbst.
Automatische Anhängen von kontextbezogenen PDF-Snippets an den Auszug
Sie können diese Integration noch einen Schritt weiter treiben, indem Sie automatisch einen kontextbezogenen Ausschnitt aus jeder 'Kind'-PDF an den Auszug Ihres Beitrags auf Suchergebnisseiten anhängen. Dies zeigt Ihren Besuchern (bevor sie zum Elternbeitrag durchklicken), dass ein Treffer auf eine verlinkte PDF-Datei innerhalb dieses Beitrags erzielt wurde.
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; | |
| } ); |
Wenn dieser Filter hinzugefügt wird, wird Ihr Standardauszug auf Suchergebnisseiten angezeigt. Wenn ein Beitrag jedoch untergeordnete PDFs enthält, die Suchbegriffe enthalten, werden diese spezifischen PDFs mit ihrem Titel und einem unterstützenden kontextbezogenen Auszug aus dieser PDF, der mindestens einen der Suchbegriffe enthält, hervorgehoben. Diese Hervorhebungen werden an den ursprünglichen Auszug angehängt, sodass Sie diese wertvollen Informationen in diesem Prozess nicht verlieren.


