【发布时间】:2013-03-12 18:28:36
【问题描述】:
我正在使用以下两个代码生成 wordpress 搜索和 woo 商务产品搜索?是否有代码可以将主题合并到一个搜索栏中同时执行这两种功能?
<?php get_search_form(); ?>
<?php get_product_search_form(); ?>
【问题讨论】:
标签: php wordpress woocommerce
我正在使用以下两个代码生成 wordpress 搜索和 woo 商务产品搜索?是否有代码可以将主题合并到一个搜索栏中同时执行这两种功能?
<?php get_search_form(); ?>
<?php get_product_search_form(); ?>
【问题讨论】:
标签: php wordpress woocommerce
get_search_from();涵盖两者。
get_product_search_form() 与 get_search_from() 相同,只是它将 wordpress 搜索限制为产品。
如果您看到这两个函数的标记,则只有一个区别。有一个额外的帖子类型值设置为产品。
<input type="hidden" name="post_type" value="product" />
所以,
get_search_from() >> get_product_search_form()
【讨论】:
我使用了 Relevanssi 插件,它允许您在搜索结果中包含自定义帖子类型(包括 woocommerce 产品)以及帖子。
【讨论】:
对于那些使用 JQuery 的用户,您可以在页面加载时轻松地将隐藏的帖子类型输入附加到任何搜索表单。只需添加指定要运行哪种类型的搜索的隐藏输入,如下例所示,我必须为 DIVI 搜索栏搜索产品而不是博客:
<script>
jQuery('document').ready(function(e){
var productSearchSetting = '<input type="hidden" name="post_type" value="product" />'; // product post type, use 'any' for all post types
var diviSearchForm$ = jQuery('header form.et-search-form');
console.log('adding search for products to: ', diviSearchForm$ );
diviSearchForm$.append(productSearchSetting);
})
</script>
您可以通过更改 jQuery 行中的选择器来适应您自己的网站,该选择器定义了您想要定位的任何形式的 diviSearchForm$ 引用。
另外,如果您想搜索所有帖子类型而不仅仅是产品,请将值 product 值更改为 any
【讨论】: