簡體   English   中英

從Woocommerce的商店頁面中排除可下載產品

[英]Exclude downloadable products from shop pages in Woocommerce

我正在開發一個同時包含實體產品和可下載產品的Woocommerce商店。 我想更改循環的標准查詢,以排除所有可下載的產品,但是我找不到解決方法。 我希望這些產品僅顯示在某個存檔頁面上,這是沒有問題的。

我正在使用pre_get_post對查詢進行其他一些更改,但似乎找不到可下載產品的選項。

我所有的產品都是簡單的產品。

任何幫助將不勝感激!

除了使用pre_get_post ,還可以使用專用的woocommerce_product_query Woocommerce操作掛鈎。 但是由於可下載產品與元查詢相關,因此最好使用woocommerce_product_query_meta_query Woocommerce專用過濾器掛鈎。

它將僅從商店頁面刪除可下載的產品:

add_filter( 'woocommerce_product_query_meta_query', 'downloadable_not_in_shop', 20, 2 );
function downloadable_not_in_shop( $meta_query, $query ) {
    // Only on archive pages
    if( is_admin() || ! is_shop() )
        return $meta_query; // exit

    $meta_query[] = array(
        'key'     => '_downloadable',
        'value'   => 'yes',
        'compare' => '!=',
    );

    return $meta_query;
}

代碼進入您的活動子主題(或主題)的function.php文件中。 經過測試和工作。

要僅顯示可下載的產品,您將使用'compare' => '=',而不是…

暫無
暫無

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

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