簡體   English   中英

如何修改 WooCommerce 中的商店頁面主查詢以顯示列表中每個產品的變體?

[英]How to modify shop page main query in WooCommerce to show a variation of every product in the list?

我在 WooCommerce 做鞋店。 每雙鞋都有不同的顏色和尺碼。 我添加了顏色和尺寸作為屬性,然后添加了一些產品作為可變產品。

我想在商店頁面中列出所有產品,包括顏色變化(不是尺寸!)...示例:

  • 可變產品 A 有黃色和黑色,尺寸從 36 到 40
  • 可變產品 B 有酒紅色和白色,尺寸從 36 到 40

然后,我的商店頁面應該有四個項目:

  • 產品 A 黃色
  • 產品 A 黑色
  • 產品 B 酒
  • 產品 B 白色

第一步:我正在嘗試針對商店頁面主查詢進行修改,但我不能! 我這樣做:

function custom_pre_get_posts( $query ){
    // attempt #1
    if( ( 'product' == get_post_type() || is_post_type_archive('product') ) ):
        $query->set( 'posts_per_page', '1' );
        return;
    endif;

    // attempt #2
    if( is_shop() ):
        $query->set( 'posts_per_page', '1' );
        return;
    endif;
}
add_action('pre_get_posts', 'custom_pre_get_posts');

我做錯了什么? 提前致謝!

第二步:我將嘗試修改主查詢以僅針對我之前提到的變體...我也不知道該怎么做...有什么提示嗎?

謝謝!!

為我工作

// ALTERAR A QUERY PRINCIPAL
function fwp_archive_per_page( $query ) {
    if ( is_tax( 'product_cat' ) || is_post_type_archive('product') ) {
        
        $query->set( 'showposts', 16 );
        $query->set( 'posts_per_page', 16 );
        $query->set( 'meta_query', array(
                                      'relation'    => 'AND',
                                    array(
                                        'key'   => 'condicoes_de_exibicao',
                                        'value'     => array('Não exibir no site', 'Não exibir em lugar nenhum'),
                                        'compare'   => 'NOT IN',
                                      )
                                    ) );

    }
}
add_filter( 'pre_get_posts', 'fwp_archive_per_page' );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM