SearchWP Documentation

Sehen Sie sich die Installationsanleitung an, durchsuchen Sie die Wissensdatenbank und erfahren Sie mehr über die vielen Hooks von SearchWP

Suchergebnisse auf das aktive bbPress-Forum beschr\"anken

Einige bbPress-Forum-Installationen sind riesig. Vielleicht möchten Sie Ihren Besuchern helfen, indem Sie die Suche auf der Seite auf das aktuell angesehene Forum beschränken. Wir können die Ausgabe von get_search_form() (die das WordPress-Such-Widget (nicht bbPress) enthält) anpassen, um bei der Suche nur das aktuell angezeigte bbPress-Forum zu berücksichtigen:

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

<?php
// Customize native WordPress search form to include current bbPress Forum ID if applicable.
// @link https://searchwp.com/documentation/knowledge-base/limiting-search-results-bbpress/
add_filter( 'get_search_form', function( $markup ) {
if ( ! function_exists( 'bbp_get_forum_id' ) ) {
return $markup;
}
$forum_id = isset( $_REQUEST['swpforumid'] ) ? absint( $_REQUEST['swpforumid'] ) : bbp_get_forum_id();
if ( empty( $forum_id ) ) {
return $markup;
}
return str_replace( '</form>',
'<input type="hidden" name="swpforumid" value="' . esc_attr( $forum_id ) . '" /></form>',
$markup
);
} );
// Limit SearchWP results to the current bbPress Forum when applicable.
add_filter( 'searchwp\query\mods', function( $mods, $query ) {
if ( ! isset( $_REQUEST['swpforumid'] ) ) {
return $mods;
}
$mod = new \SearchWP\Mod(
\SearchWP\Utils::get_post_type_source_name( 'post' )
);
$mod->set_where( [ [
'column' => 'id',
'value' => absint( $_REQUEST['swpforumid'] ),
'compare' => '=',
'type' => 'NUMERIC',
] ] );
$mods[] = $mod;
return $mods;
}, 30, 2 );

Erstellen Sie noch heute eine bessere WordPress-Sucherfahrung

Verlieren Sie nie wieder Besucher an unzureichende Suchergebnisse. SearchWP macht die Erstellung Ihrer eigenen intelligenten WordPress-Suche schnell und einfach.

Get SearchWP Now
Symbol für mehrere Suchmaschinen