来自Revolution Slider的WooCommerce搜索表单

时间:2017-03-28 21:18:49

标签: wordpress forms search woocommerce

我使用以下内容将搜索表单放在滑块革命英雄幻灯片中。但是它会搜索整个网站。我希望它只搜索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>

1 个答案:

答案 0 :(得分:0)

您可以使用codex: pre_get_postsdeveloper: 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
}