【问题标题】:Merging a general wordpress search with a woocommerce product search?将一般的 wordpress 搜索与 woocommerce 产品搜索合并?
【发布时间】:2013-03-12 18:28:36
【问题描述】:

我正在使用以下两个代码生成 wordpress 搜索和 woo 商务产品搜索?是否有代码可以将主题合并到一个搜索栏中同时执行这两种功能?

  <?php get_search_form(); ?>
  <?php get_product_search_form(); ?>

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    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()
    

    【讨论】:

    • 这对我很有用。你可以很容易地通过 javascript 实现这个,我会用代码添加另一个解决方案。
    【解决方案2】:

    我使用了 Relevanssi 插件,它允许您在搜索结果中包含自定义帖子类型(包括 woocommerce 产品)以及帖子。

    【讨论】:

      【解决方案3】:

      对于那些使用 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

      【讨论】:

      • 注意:这个脚本可以添加到 或 两者都应该工作,因为它在运行之前等待页面加载,只需确保它在搜索表单所在的所有页面上运行.
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-02
      • 2016-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      相关资源
      最近更新 更多