我在函数.php上使用这个小的php代码片段,以便在WooCommerce单一产品页面上的产品数量字段之前添加一个小文本:

add_action( 'woocommerce_before_add_to_cart_quantity', 'wp_echo_qty_front_add_cart' );
 
function wp_echo_qty_front_add_cart() {
    echo '<div class="qty">Número de asistentes: </div>'; 
}

工程作为一个魅力,但我想排除所有的产品是使用WooCommerce本地的"单独出售"选项.

有没有什么方法可以仅仅通过在unctions.php中添加一些东西就将它们排除在外?

推荐答案

您可以使用WC_Product::get_sold_individually(),它表示产品是否单独销售.

因此,您可以获得:

function action_woocommerce_before_add_to_cart_quantity() {
    global $product;
    
    // Is a WC product
    if ( is_a( $product, 'WC_Product' ) ) {
        // NOT sold individually.
        if ( ! $product->get_sold_individually() ) {
            echo '<div class="qty">Número de asistentes: </div>';
        }
    }
}
add_action( 'woocommerce_before_add_to_cart_quantity', 'action_woocommerce_before_add_to_cart_quantity' );

Php相关问答推荐

PHP邮件表单无法识别重音/特殊字符

从WooCommerce Checkout Country Select2下拉列表中重新排序国家/地区

Laravel;Composer安装突然返回选项快捷方式不能为空.

MySQLi是否在事务错误时删除保存点(并且仅删除保存点)?

WooCommerce HPOS管理订单列表中带有订单元数据的定制列

用于计算付款费用的WooCommerce管理编辑产品中的自定义复选框

使注册字段UserMeta值对于WooCommerce中的每个用户是唯一的

我的邮箱中的链接在我的URL中添加了一个

我有一个显示记录的表格,每行在最右边有两个按钮.如何才能以正确的顺序获得表的值?

用GUZLE模拟Read_Timeout

在WooCommerce上设置简单和可变产品的最小订单量

为什么WooCommerce的动作钩子';woocommerce_checkout_update_order_review';包含旧信息?

PHP 数组中第一级 node 到 XML 的唯一名称

Woocommerce 仅在前端为登录用户提供价格折扣

根据小计向 WooCommerce Checkout 添加佣金

WooCommerce 回购自定义插件:如何更新用户钱包?

WooCommerce 按产品运输插件:仅收取较高的运输费用

Symfony 迁移判断器在我的工作中失控

PHP/Laravel 中的自定义时区

如何限制for循环php中的条目数