我使用以下内容将搜索表单放在滑块革命英雄幻灯片中。但是它会搜索整个网站。我希望它只搜索woocommerce产品。我需要改变什么才能使其发挥作用?
<form role="search" method="get" id="searchform" class="revtp-searchform" action="http://mywebsiteURL.com/"/>
<input type="text" value="" name="s" id="s" placeholder="What are you looking for?" />
<input type="submit" id="searchsubmit" value="Find" />
</form>
答案 0 :(得分:0)
您可以使用codex: pre_get_posts和developer: pre_get_posts
解决此问题add_action( 'pre_get_posts', 'search_woocommerce_product' );
function search_woocommerce_product( $query ) {
if( ! is_admin() && is_search() && $query->is_main_query() ) {
$query->set( 'post_type', 'product' );
}
}
您可以为此钩子函数添加更多条件,例如仅包含页面is_page
或者使用像这样的短代码
$pattern = get_shortcode_regex();
$patternToken = 'masterslider';
if (preg_match_all('/' . $pattern . '/s', get_the_content(), $matches) &&
array_key_exists(2, $matches) &&
in_array($patternToken, $matches[2])) {
//Your code logic
}