2015-10-08 190 views
0

不幸的是,这个基本功能尚未在Woocommerce中实现,所以我必须要求您的帮助。Woocommerce - 按ID搜索产品

我需要通过IDSKU通过前端搜索框搜索产品。我已经能够安装插件来解决SKU的问题,但我仍然无法通过ID进行搜索。 如果我在搜索中输入产品ID,它只会给我0结果。

我已经做了很多谷歌搜索,但似乎没有人需要这样的选择。

任何意见将不胜感激!

例产品链接:http://leighplumbing.co.uk/product/bisque-decorative-panel-towel-radiator/

非常感谢你和原谅我的英语不好。

+0

您好没有人知道该产品的产品ID。 SO Woocommerce知道访客不知道产品的ID,所以他们没有实现,但如果你想,那么你需要为此做代码。 – Mitul

+0

嗨,感谢您的帮助。是的,我知道它需要编码,否则我不会在这里:P – Pelly

+0

好给我一些时间,我会为你做代码。 – Mitul

回答

0

这很简单,只佩利需要在归档product.php文件添加一个条件。文件路径:插件\ woocommerce \模板\存档product.php

覆盖由主题文件这个文件这个文件移动到你的主题文件夹等为: 主题\您的主题\ woocommerce \存档product.php

条件是:

if (is_search()) { 
    //put your search results markup here (you can copy some code from archive-product.php file and also from content-product.php to create a standard markup 
} else { 
    // here goes the content that is already in that file (archive-product.php) 
} 

喜欢我的模板:

<?php 
/** 
* The Template for displaying product archives, including the main shop page which is a post type archive. 
* 
* Override this template by copying it to yourtheme/woocommerce/archive-product.php 
* 
* @author  WooThemes 
* @package  WooCommerce/Templates 
* @version  2.0.0 
*/ 

if (! defined('ABSPATH')) { 
    exit; // Exit if accessed directly 
} 

get_header('shop'); ?> 

<?php if (is_search()) { //@@@@@@@@@@@@@@@@@@@@ Search Page Reshult show form here @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
$ID = get_search_query(); //@@@@@@@ Get Searched Product ID 
if (FALSE === get_post_status($ID)) { //@@@@@@ Check product exist or Not 
    // The post does not exist 

    echo 'Product Not Available...'; 

} else { 
    // The post exists 
    echo do_shortcode('[product id="'.$ID.'"]') ; 
} 

} // @@@@@@@@@@@@@@@@@@@@@@@@@@@ End Search Page Reshult Code 


else  // @@@@@@@@@@@@@@@@@@Shop Page Code start [email protected]@@@@@@@@@@@@@@@@@@ 
{ 
     /** 
     * woocommerce_before_main_content hook 
     * 
     * @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content) 
     * @hooked woocommerce_breadcrumb - 20 
     */ 
     do_action('woocommerce_before_main_content'); 
    ?> 
<?php if (apply_filters('woocommerce_show_page_title', true)) : ?> 

<h1 class="page-title"> 
    <?php woocommerce_page_title(); ?> 
</h1> 
<?php endif; ?> 
<?php 
      /** 
      * woocommerce_archive_description hook 
      * 
      * @hooked woocommerce_taxonomy_archive_description - 10 
      * @hooked woocommerce_product_archive_description - 10 
      */ 
      do_action('woocommerce_archive_description'); 
     ?> 
<?php if (have_posts()) : ?> 
<?php 
       /** 
       * woocommerce_before_shop_loop hook 
       * 
       * @hooked woocommerce_result_count - 20 
       * @hooked woocommerce_catalog_ordering - 30 
       */ 
       do_action('woocommerce_before_shop_loop'); 
      ?> 
<?php woocommerce_product_loop_start(); ?> 
<?php woocommerce_product_subcategories(); ?> 
<?php while (have_posts()) : the_post(); ?> 
<?php wc_get_template_part('content', 'product'); ?> 
<?php endwhile; // end of the loop. ?> 
<?php woocommerce_product_loop_end(); ?> 
<?php 
       /** 
       * woocommerce_after_shop_loop hook 
       * 
       * @hooked woocommerce_pagination - 10 
       */ 
       do_action('woocommerce_after_shop_loop'); 
      ?> 
<?php elseif (! woocommerce_product_subcategories(array('before' => woocommerce_product_loop_start(false), 'after' => woocommerce_product_loop_end(false)))) : ?> 
<?php wc_get_template('loop/no-products-found.php'); ?> 
<?php endif; ?> 
<?php 
     /** 
     * woocommerce_after_main_content hook 
     * 
     * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content) 
     */ 
     do_action('woocommerce_after_main_content'); 
    ?> 
<?php 
     /** 
     * woocommerce_sidebar hook 
     * 
     * @hooked woocommerce_get_sidebar - 10 
     */ 
     do_action('woocommerce_sidebar'); 
} ?> 
<?php get_footer('shop'); ?> 
相关问题