如何仅在特定页面ID中使用PHP隐藏“添加到购物车”按钮?

时间:2019-01-17 04:16:37

标签: php html wordpress woocommerce

我正在从事电子商务项目,我想隐藏特定页面(即ID 231)中的添加到购物车按钮。我知道如何使用CSS来做到这一点,但我想在PHP中做到这一点。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

add_filter('woocommerce_is_purchasable', 'woocommerce_cloudways_purchasable');
function woocommerce_cloudways_purchasable($cloudways_purchasable, $product) {
return ($product->id == your_specific_product_id (like 22) ? false : 
$cloudways_purchasable);
}

希望它对您有用

答案 1 :(得分:0)

另一个选项可以覆盖Woocommerce的单一产品页面。

add_filter('template_include','locate_template',30);

公共函数locate_template($ template){

        $pre_template = $template;
         if ( is_single() && 'product' == get_post_type() )
        {   

            $template = locate_template( array( 'woocommerce/single-product.php' ) );

            if ( ! $template ) {
                global $post;
                $product_id = $post->ID;

                if( isset( $product_id ) && !empty( $product_id ) && $product_id == 231 ) {

                    $template = YOUR_DIR_PATH.'woocommerce/customized_temp.php';
                }
                else{
                    return $pre_template;
                }
            }
        }
        return $template;
    }

此后,您可以创建customized_temp.php,然后只需覆盖single_product.php文件(即可轻松删除add_to_cart按钮)

借助上述代码,您可以轻松覆盖任何模板 就您而言:

请访问以下路径:Woocommerce>模板>单一产品>添加到购物车> simple.php