A client needed to add “something” upon product publishing. As you know, for example, post meta information called “total_sales” gets added automatically once a product is created. So, let’s see how to do “stuff” when a new product is published.
Example: let’s add_post_meta when a WooCommerce product is created

The PHP solution: do “something” when a product is created
/** * @snippet Do Something When Product is Published * @how-to Get CustomizeWoo.com FREE * @sourcecode https://businessbloomer.com/?p=543 * @author Rodolfo Melogli * @testedwith WooCommerce 3.2.6 */ function add_this_to_new_products( $new_status, $old_status, $post ) { global $post; if ( $post->post_type !== 'product' ) return; if ( 'publish' !== $new_status or 'publish' === $old_status ) return; add_post_meta( $post->ID, 'total_amount', '0', true ); // This is the action to take } add_action( 'transition_post_status', 'add_this_to_new_products', 10, 3 );