如何创建Wordpress搜索表单,并选择要搜索的位置?在帖子,页面或论坛(bbpress(中搜索。有没有简单的解决方案可以在不创建主题文件夹中的其他文件的情况下做到这一点?
更新
我使用此代码并且可以工作,但我不知道如何添加bbPress。
现在搜索结果的网址是这样的:?s=mysearch&post_type=page
默认bb新闻结果网址:论坛/搜索/我的搜索/
<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?
您可以使用
函数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;
}