SearchWP Documentation

Consultez le guide d’installation, parcourez la base de connaissances, découvrez les nombreux hooks de SearchWP

Limiter les résultats de recherche au forum bbPress actif

Certaines installations de forum bbPress sont énormes. Peut-être souhaitez-vous aider vos visiteurs en limitant la recherche sur la page au forum actuellement consulté. Nous pouvons personnaliser la sortie de get_search_form() (qui inclut le widget de recherche WordPress (pas bbPress)) pour ne prendre en compte que le forum bbPress actuellement affiché lors de la recherche :

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

Créez dès aujourd'hui une meilleure expérience de recherche WordPress

Ne perdez plus jamais de visiteurs à cause de résultats de recherche inutiles. SearchWP rend la création de votre propre recherche WordPress intelligente rapide et facile.

Get SearchWP Now
Icône de moteurs de recherche multiples