我正在从事电子商务项目,我想隐藏特定页面(即ID 231)中的添加到购物车按钮。我知道如何使用CSS
来做到这一点,但我想在PHP
中做到这一点。
有人可以帮我吗?
答案 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