/** * Fires WooCommerce "product published" (`wpcodebook_product_published`) action. * * @see https://wpcodebook.com/woocommerce-product-published-action/ * @see https://developer.wordpress.org/reference/hooks/transition_post_status/ */ add_action( 'transition_post_status', function ( $new_status, $old_status, $post ) { if ( 'product' === $post->post_type && 'publish' === $new_status && 'publish' !== $old_status ) { do_action( 'wpcodebook_product_published', $post->ID ); } }, 10, 3 );