Wordpress搜索表单,在帖子,页面或论坛中选择(bbpress)

时间:2018-03-18 17:06:30

标签: wordpress bbpress search-form

如何创建Wordpress搜索表单,并选择我们要搜索的位置?在帖子,页面或论坛中搜索(bbpress)。有没有简单的解决方案可以在主题文件夹中创建其他文件?

更新

我使用此代码并且它可以工作,但我不知道如何添加bbPress。

现在搜索结果的网址如下:?s = mysearch& post_type = page

默认bbPress结果网址: forums / search / mysearch /

<form role="search" method="get" class="search-form" action="<?php echo home_url( '/' ); ?>">
    <label>
        <span class="screen-reader-text"><?php echo _x( 'Search for:', 'label' ) ?></span>
        <input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Search …', 'placeholder' ) ?>" value="<?php echo get_search_query() ?>" name="s" title="<?php echo esc_attr_x( 'Search for:', 'label' ) ?>" />
        <input type="radio" name="post_type" value="post" id="posts" checked /><label for="posts">Posts</label>
        <input type="radio" name="post_type" value="page" id="pages" /><label for="pages">Pages</label>
    </label>
    <input type="submit" class="search-submit" value="<?php echo esc_attr_x( 'Search', 'submit button' ) ?>" />
</form>

也许使用脚本可以在选择“论坛”选项后更改搜索URL?

1 个答案:

答案 0 :(得分:0)

您可以使用get_search_form()功能输出搜索表单,然后使用过滤器pre_get_posts修改搜索内容。

add_filter( 'pre_get_posts', 'posts_to_search' );

function posts_to_search( $query ) {

    if ( $query->is_search ) {
        $query->set( 'post_type', array( 'post', 'products' ) );
    }

    return $query;

}