代码之家  ›  专栏  ›  技术社区  ›  Raymond the Developer

如何在Woomerce webshop中筛选代码模板中具有特定标记的所有产品?

  •  0
  • Raymond the Developer  · 技术社区  · 6 年前

    请帮忙。

    archive-product.php文件

    <?php
    /**
     *
     * @see         https://docs.woocommerce.com/document/template-structure/
     * @author      WooThemes
     * @package     WooCommerce/Templates
     * @version     3.3.0
     */
    
    if ( ! defined( 'ABSPATH' ) ) {
        exit;
    }
    <
    get_header( 'shop' );
    
    /**
     * Hook: woocommerce_before_main_content.
     *
     * @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)
     * @hooked woocommerce_breadcrumb - 20
     * @hooked WC_Structured_Data::generate_website_data() - 30
     */
    do_action( 'woocommerce_before_main_content' );
    
    if ( have_posts() ) {
    
        /**
         * Hook: woocommerce_before_shop_loop.
         *
         * @hooked wc_print_notices - 10
         * @hooked woocommerce_result_count - 20
         * @hooked woocommerce_catalog_ordering - 30
         */
        do_action( 'woocommerce_before_shop_loop' );
    
        woocommerce_product_loop_start();
    
        if ( wc_get_loop_prop( 'total' ) ) {
            while ( have_posts() ) {
                the_post();
    
                /**
                 * Hook: woocommerce_shop_loop.
                 *
                 * @hooked WC_Structured_Data::generate_product_data() - 10
                 */
                do_action( 'woocommerce_shop_loop' );
    
                wc_get_template_part( 'content', 'product' );
            }
        }
    
        woocommerce_product_loop_end();
    
        /**
         * Hook: woocommerce_after_shop_loop.
         *
         * @hooked woocommerce_pagination - 10
         */
        do_action( 'woocommerce_after_shop_loop' );
    } else {
        /**
         * Hook: woocommerce_no_products_found.
         *
         * @hooked wc_no_products_found - 10
         */
        do_action( 'woocommerce_no_products_found' );
    }
    
    /**
     * Hook: woocommerce_after_main_content.
     *
     * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content)
     */
    do_action( 'woocommerce_after_main_content' );
    
    /**
     * Hook: woocommerce_sidebar.
     *
     * @hooked woocommerce_get_sidebar - 10
     */
    do_action( 'woocommerce_sidebar' );
    
    get_footer( 'shop' );
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   kashalo    6 年前

    您需要更改产品查询,您可以这样做:

    add_action('woocommerce_product_query', 'product_query');
    
    function product_query($q)
    {
    
        $q->set('product_tag', 'visible-shop '); //Here you can define which tag you want 
    
    }
    

    上面的代码已经过测试并且可以正常工作,只需将其放在functions.php中即可