php Woocommerce常规价格添加额外附加价格

mcvgt66p  于 12个月前  发布在  PHP
关注(0)|答案(1)|浏览(117)

我需要一点帮助,如果这将是可能的产品定价,
我需要当一个产品被成功地添加到数据库中,我希望它的“正常价格”将自动添加特定的金额,这应该适用于所有产品添加,它是一个单位量的所有产品。
范例:如果T恤的常规产品是25美元,我需要25美元,当产品添加到数据库中时,自动添加5美元,以便最终用户(客户)可以看到最终价格为30美元。


的数据

function set_default_price( $post_id, $post ) {

    if ( isset( $_POST['_regular_price'] ) && trim( $_POST['_regular_price'] ) == '' ) {
        update_post_meta( $post_id, '_regular_price', '5' );
    }

}
add_action( 'woocommerce_process_product_meta', 'set_default_price' );

字符串
我已经找到了这段代码,但它不做的工作,我不擅长PHP
你知道我该怎么做吗?

sgtfey8w

sgtfey8w1#

从WooCommerce 3开始,您可以使用CRUD方法和钩子,如下所示,在产品创建时自动添加定义的固定金额到正常价格:

add_action( 'woocommerce_admin_process_product_object', 'woocommerce_admin_process_product_object_callback' );
add_action( 'woocommerce_admin_process_variation_object', 'woocommerce_admin_process_product_object_callback' );
function woocommerce_admin_process_product_object_callback( $product ) {
    if ( $product->get_meta('_flat_amount_added') !== 'yes' && isset($_POST['_regular_price']) ) {
        $flat_amount = 5; // Define the flat amount to be added to the regular price

        $regular_price = (float) $product->get_regular_price('edit');
        $product->set_regular_price($regular_price + $flat_amount);
        $product->add_meta_data('_flat_amount_added', 'yes', true);
    }
}

字符串
代码在你的子主题的functions.php文件中(或在插件中)。经过测试,适用于所有WooCommerce产品,包括产品变体...

相关问题