I need a little help if it will be possible on product pricing,
I need when a Product is being successfully added in the database i want its “Regular Price” to be automatically added by particular amount, this should apply in all products added and it is a flat amount to all products.
Example: If a regular product of T-shirt is $25 i need that $25 to be added by $5 automatically when the product is added to the database so the end user (Customer) can see the final price as $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' );
I have found this code but it does not do the work & i'm not good with PHP
Any idea on what should i do?
Since WooCommerce 3, you can use CRUD methods and hooks as follows, to add automatically on product creation, a defined flat amount to the regular price:
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);
}
}
Code goes in functions.php file of your child theme (or in a plugin). Tested and work for all WooCommerce products, including product variations…