Fügen Sie Ihrer Website mit der Modal Search Form Extension von SearchWP! ein modales Formular wie dieses hinzu.
⚠️ Hinweis: Diese Erweiterung ist ab SearchWP Version 3.0 VERALTET und wird bald entfernt ⚠️
Bitte sehen Sie sich diese Dokumentation an: https://searchwp.com/docs/settings/highlight/
Wenn Term Highlight aktiv ist, bereinigt es automatisch den Titel und den Auszug, die von Suchergebnissen zurückgegeben werden, und umschließt Suchbegriffe mit einem span, sodass Sie sie so hervorheben können, dass sie gut zu Ihrem Website-Design passen.
Term Highlight enthält auch eine Funktion, mit der Sie einen Auszug aus dem post_content oder aus einem benutzerdefinierten Feld abrufen können, das mindestens einen der Suchbegriffe enthält. Siehe unten.
Die Installation für diese Erweiterung ist die gleiche wie für alle anderen Erweiterungen. Laden Sie die Zip-Datei von Ihrem Konto herunter, laden Sie sie hoch und installieren Sie sie wie jedes andere WordPress-Plugin. Term Highlight wird in Ihrer Plugin-Liste im WordPress-Administrationsbereich angezeigt, und Sie können es aktivieren.
Nach der Aktivierung hebt Term Highlight automatisch Begriffe im Titel und im Auszug für native WordPress-Suchen hervor. Hervorhebungen werden durch Umschließen von Begriffen in <span class="searchwp-highlight" /> angewendet, die Sie in Ihrem CSS ansprechen können.
Term Highlight überschreibt auch automatisch Aufrufe von the_excerpt(), indem dieser Inhalt durch einen Auszug ersetzt wird, der mindestens einen Suchbegriff aus dem Hauptinhalt enthält (z. B. das Hauptinhaltsfeld, nicht benutzerdefinierte Felder). Es hebt auch Begriffe in diesem Inhalt hervor. Wenn Sie diese Funktionalität deaktivieren oder anpassen möchten, beachten Sie bitte die folgenden Filter.
Sie können es noch weiter treiben, indem Sie Term Highlight verwenden, um einen Auszug aus einer Reihe von potenziellen Quellen (einschließlich benutzerdefinierter Felder) zu generieren, indem Sie Aufrufe von the_excerpt() auf Suchergebnisseiten automatisch wie folgt filtern:
| <?php | |
| function searchwp_term_highlight_auto_excerpt( $excerpt ) { | |
| global $post; | |
| if ( ! is_search() ) { | |
| return $excerpt; | |
| } | |
| // prevent recursion | |
| remove_filter( 'get_the_excerpt', 'searchwp_term_highlight_auto_excerpt' ); | |
| $global_excerpt = searchwp_term_highlight_get_the_excerpt_global( $post->ID, null, get_search_query() ); | |
| add_filter( 'get_the_excerpt', 'searchwp_term_highlight_auto_excerpt' ); | |
| return wp_kses_post( $global_excerpt ); | |
| } | |
| add_filter( 'get_the_excerpt', 'searchwp_term_highlight_auto_excerpt' ); |
Wenn Sie stattdessen die Aufrufe manuell ersetzen möchten, können Sie etwas wie dieses verwenden:
| <?php | |
| /* SearchWP Term Highlight offers an alternative to the_excerpt() | |
| If you're looking to generate any sort of excerpt based on one of the following: | |
| - the actual excerpt | |
| - the generated excerpt from the post content | |
| - the post content itself | |
| - string-based custom field values | |
| this function is for you. It will try to find one of the above (in that order) | |
| and output something with at least one search term in it (if possible) | |
| */ | |
| // echo the excerpt (designed to be used IN PLACE OF the_excerpt | |
| if( function_exists( 'searchwp_term_highlight_the_excerpt_global' ) ) { | |
| searchwp_term_highlight_the_excerpt_global(); | |
| } | |
| // return the excerpt (designed to be used IN PLACE OF get_the_excerpt | |
| if( function_exists( 'searchwp_term_highlight_get_the_excerpt_global' ) ) { | |
| $excerpt = searchwp_term_highlight_get_the_excerpt_global(); | |
| } |
Term Highlight hebt Begriffe für zusätzliche Suchmaschinen-Suchen nicht automatisch hervor! Sie müssen Ihre Vorlage anpassen, indem Sie Ihren Inhalt vor der Ausgabe durch den Hervorheber senden, wie folgt:
| <?php | |
| // this snippet is based on SearchWP's sample Supplemental Search Engine results template found here: | |
| // https://searchwp.com/docs/configuration/#supplemental | |
| // **************************** NOTE **************************** | |
| // this snippet is just a portion of your search results template | |
| // **************************** NOTE **************************** | |
| // these are the search terms | |
| $query = isset( $_REQUEST['swpquery'] ) ? sanitize_text_field( $_REQUEST['swpquery'] ) : ''; | |
| $highlighter = false; | |
| if( class_exists( 'SearchWP_Term_Highlight' ) ) { | |
| $highlighter = new SearchWP_Term_Highlight(); | |
| } | |
| ?> | |
| <?php foreach ( $posts as $post ): setup_postdata( $post ); ?> | |
| <div class="post"> | |
| <h2> | |
| <a href="<?php echo get_permalink(); ?>"> | |
| <?php | |
| // highlight the title | |
| $title = get_the_title(); | |
| if( $highlighter ) { | |
| $title = $highlighter->apply_highlight( $title, $query ); | |
| } | |
| echo wp_kses_post( $title ); | |
| ?> | |
| </a> | |
| </h2> | |
| <?php | |
| // output an excerpt | |
| $excerpt = get_the_excerpt(); | |
| if( $highlighter ) { | |
| $excerpt = $highlighter->apply_highlight( $excerpt, $query ); | |
| } | |
| echo wp_kses_post( $excerpt ); | |
| ?> | |
| <div class="custom-field-content"> | |
| <?php | |
| // output highlighted content from a Custom Field | |
| $custom_field = get_post_meta( get_the_ID(), 'my_custom_field_key', true ); | |
| if( $highlighter ) { | |
| $custom_field = $highlighter->apply_highlight( $custom_field, $query ); | |
| } | |
| echo wp_kses_post( $custom_field ); | |
| ?> | |
| </div> | |
| </div> | |
| <?php endforeach; ?> |
HINWEIS: Der obige Ausschnitt soll die Anpassung darstellen, die Sie an der Beispielvorlage für zusätzliche Suchmaschinenergebnisse vornehmen müssten, wobei NUR die Ausgabe der Suchergebnisse ersetzt wird. Es handelt sich nicht um eine vollständige Seiten-Vorlage.
Es gibt ein paar Filter, die Sie bei der Verwendung von Term Highlight beachten sollten:
searchwp_th_auto_filter_excerpt
Legen Sie fest, ob Term Highlight the_excerpt() automatisch durch einen Auszug mit Suchbegriffen ersetzt. Standard ist true, zum Deaktivieren:
| <?php | |
| add_filter( 'searchwp_th_auto_filter_excerpt', '__return_false' ); |
searchwp_th_num_words
Definieren Sie die Anzahl der Wörter, die Term Highlight beim Erstellen eines Auszugs mit mindestens einem Suchbegriff einschließen wird. Standard ist 55.
| <?php | |
| function my_searchwp_th_num_words() { | |
| // use 75 words instead of the default 55 | |
| return 75; | |
| } | |
| add_filter( 'searchwp_th_num_words', 'my_searchwp_th_num_words' ); |
searchwp_th_excluded_engines
Weisen Sie Term Highlight an, die Begriffshervorhebung für bestimmte Suchmaschinen zu überspringen. Standard ist keine.
| <?php | |
| function my_searchwp_th_excluded_engines( $load_posts, $search_args ) { | |
| // DO NOT highlight terms when using the 'my_supplemental' search engine | |
| return array( 'my_supplemental' ); | |
| } | |
| add_filter( 'searchwp_th_excluded_engines', 'my_searchwp_th_excluded_engines', 10, 2 ); |
searchwp_th_password_required_message
Wenn ein Beitrag passwortgeschützt ist, gibt Term Highlight eine benutzerdefinierte Zeichenfolge zurück. Standard ist der WordPress-Standard: Es gibt keinen Auszug, da dies ein geschützter Beitrag ist..
| <?php | |
| function my_searchwp_th_password_required_message() { | |
| return __( 'This entry is private.' ); | |
| } | |
| add_filter( 'searchwp_th_password_required_message', 'my_searchwp_th_password_required_message' ); |
Verlieren Sie nie wieder Besucher an unzureichende Suchergebnisse. SearchWP macht die Erstellung Ihrer eigenen intelligenten WordPress-Suche schnell und einfach.
Get SearchWP Now