亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 WooCommerce 中隱藏產品可見性時隱藏添加到購物車按鈕

在 WooCommerce 中隱藏產品可見性時隱藏添加到購物車按鈕

PHP
郎朗坤 2021-12-03 15:52:57
每天晚上,我都會將供應商的產品加載到 CSV 文件中。他們在每個 CSV 中刪除和添加產品。如果產品不再在 CSV 中,而之前在 CSV 中,我的插件會將產品可見性置于隱藏狀態。這樣鏈接仍然有效,所以在搜索控制臺等中沒有 404 錯誤,但該產品沒有顯示在我的商店中。但是,一些客戶仍然從不同的域(即谷歌)訪問這些鏈接。他們登陸“隱形產品”,并且可以在產品不再可用時單擊“購物車中”按鈕。因此我的問題是:我怎樣才能(在functions.php 中?)確保當產品的可見性被隱藏時,購物車按鈕被刪除(一個簡單的顯示:無;就可以)。我使用 WP Import 來導入 CSV 以及產品被置于可見性的方式:隱藏是這樣的:function my_is_post_to_delete($is_post_to_delete, $post_id, $import) {     // Get an instance of the product variation from a defined ID    $my_product = wc_get_product($post_id);    // Change the product visibility    $my_product->set_catalog_visibility('hidden');    // Save and sync the product visibility    $my_product->save();    return false;}所以我需要這樣的東西:如果 product_visibility是“ hidden”,則刪除添加到購物車按鈕。
查看完整描述

1 回答

?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

woocommerce_is_purchasable當產品目錄可見性“隱藏”時,您可以簡單地使用專用過濾器掛鉤,如下所示:


add_filter('woocommerce_is_purchasable', 'filter_product_is_purchasable', 10, 2 );

function filter_product_is_purchasable( $purchasable, $product ) {

    if( 'hidden' === $product->get_catalog_visibility() ) {

        $purchasable = false;


    }

    return $purchasable;

}

代碼位于活動子主題(或活動主題)的 functions.php 文件中。測試和工作。


注意:如果客戶之前的購物車會話中包含產品,它將從其中刪除。


更新- 對于外部(或附屬)產品,請嘗試使用以下內容:


add_action( 'woocommerce_single_product_summary', 'remove_product_add_to_cart_button', 4 );

function remove_product_add_to_cart_button(){

    global $product;


    if( $product->is_type('external') && 'hidden' === $product->get_catalog_visibility() ) {

        remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );

    }

}

代碼位于活動子主題(或活動主題)的 functions.php 文件中。測試和工作。


查看完整回答
反對 回復 2021-12-03
  • 1 回答
  • 0 關注
  • 262 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號