不幸的是,这个基本功能还没有在Woocommerce中实现,所以我不得不寻求你的帮助。
我需要通过前端搜索框按 ID 或 SKU 搜索产品。我已经能够安装插件来解决 SKU 的问题,但我仍然无法通过 ID 进行搜索。 如果我在搜索中输入产品ID ,它只会给我0个结果。
我已经完成了很多谷歌搜索,但似乎到目前为止还没有人需要这样的选择。
非常感谢任何建议!
示例产品链接:http://leighplumbing.co.uk/product/bisque-decorative-panel-towel-radiator/
非常感谢你,并原谅我糟糕的英语技能。
答案 0 :(得分:0)
这个插件将有助于创建按ID搜索产品的功能,当前的插件将通过sku搜索产品,您需要更改我尝试的SQL查询并且其工作正常。
https://wordpress.org/plugins/search-by-sku-for-woocommerce/
答案 1 :(得分:0)
非常简单,Pelly只需要在archive-product.php文件中添加一个条件。文件路径:plugins \ woocommerce \ templates \ archive-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 Here@@@@@@@@@@@@@@@@@@@
{
/**
* 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' ); ?>