wordpress - 如何在单个产品页面上隐藏添加到购物车按钮 - woocommerce
问题描述
我是 wordpress 和 woocommerce 的新手。如果产品重量大于 8 克,我必须隐藏添加到购物车按钮。我已经使用此代码来执行此操作。
add_action( 'woocommerce_checkout_process', 'action_woocommerce_checkout_process', 10, 0 );
add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_default_button', 10, 2 );
function replace_default_button( $button, $product ){
$weight = $product->get_weight();
preg_replace('/\D/', '', $weight);
if ( $weight > 8 ){
$button = '';
}
return $button;
}
它在商店页面上工作得很好。但它不适用于单个产品页面。仅当产品重量大于 8 克时,请帮助我隐藏单个产品页面中的添加到购物车按钮。
解决方案
您的代码适用于商店页面,对于单个页面,您需要使用不同的钩子:
// Removing the single product button add to cart
add_action( 'woocommerce_single_product_summary', 'replace_single_add_to_cart_button', 1 );
function replace_single_add_to_cart_button() {
global $product;
$weight = $product->get_weight();
preg_replace('/\D/', '', $weight);
if ( $weight > 8 ){
// For variable product types
remove_action( 'woocommerce_single_variation','woocommerce_single_variation_add_to_cart_button', 20 );
// For all other product types
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
}
}
推荐阅读
- youtube - 如何获取 YouTube 实时流媒体统计信息
- qt - 如何展开 StackView 直到 QML 中的倒数第二项
- npm-install - 如何使用旧版本的 sveltekit?
- flutter - Flutter Dart 和 Hive Database 想要将 json 文件数据存储到 hive 框中
- r - 运行 prcomp 时,“闭包”类型的对象不是子集错误
- android - 如何在exoplayer android中检测视频是纵向(垂直)还是横向(水平)拍摄
- html - 如何为内部块制作滚动?
- sql - 使用 ON CONFLICT 时是否可以仅检查 postgres 中主键的一部分
- angular - 基于位置的 AR:使用 Angular 创建原生应用
- rasa - 回答如何从 Rasa<->Google 聊天集成后发送到 Rasa 服务器的环聊消息中获取用户电子邮件 ID