是否可以在WooCommerce上隐藏特定的产品变体?

时间:2017-05-23 22:58:35

标签: php wordpress woocommerce

我目前正在开发一个WordPress电子商务网站,选择的购物平台是WooCommerce。

我希望隐藏“缺货”的能力。产品变化但似乎无法在互联网上的任何地方找到解决方案。

例如,假设我有一个鞋店,网站销售鞋子。产品下拉菜单如下:

  • 鞋码
    • 9
    • 10
    • 11
  • 鞋子颜色
    • 红色
    • 黄色
  • 鞋子风格
    • 训练
    • 休闲
    • 魔术贴

假设该网站没有Blue Size 9 Trainers。如果购物者从下拉菜单中选择其中任何一个选项,其他选项将被删除/显示。

我知道有一个' Hide Out of Stock'选项,在WooCommerce设置中,但这仅影响主产品而不是产品变体。

我尝试在产品页面的后端手动删除产品变更,但变化仍然存在;只是显示一条消息说“此产品不可用”。请选择其他组合。'

非常感谢任何有关此事的指导。

3 个答案:

答案 0 :(得分:1)

function custom_wc_ajax_variation_threshold( $qty, $product ) {
    return 10;
}

add_filter( 'woocommerce_ajax_variation_threshold', 'custom_wc_ajax_variation_threshold', 10, 2 );

将此代码粘贴到functions.php文件

答案 1 :(得分:0)

只需将以下内容粘贴到functions.php

即可
function custom_wc_ajax_variation_threshold( $qty, $product ) {
    return 10;
}

add_filter( 'woocommerce_ajax_variation_threshold','custom_wc_ajax_variation_threshold', 10, 2 );

然后改变'返回10;'你有多少变化。

请注意,这可能会减慢页面加载时间,具体取决于您的托管

答案 2 :(得分:0)

首先,取消选中“隐藏目录中的缺货商品”复选框。然后将其粘贴到相应的插件或主题文件中:

function hide_out_of_products( $is_visible, $id ) {
$product = new wC_Product( $id );

    if ( ! $product->is_in_stock()) {
        $is_visible = false;
    }

    return $is_visible;
}
add_filter( 'woocommerce_product_is_visible', 'hide_out_of_products', 10, 2 );