woocommerce hook опубликует продукт

Я хочу добавить действие всякий раз, когда администратор публикует продукт, но WP hook publish_post не запускается тогда – даже если wc-продукт – это еще один тип сообщения.

Я не нашел крюк woocommerce, который запускается при публикации продукта.

Есть предположения?

Я рекомендую вам использовать transition_post_status . См. Пример ниже:

  add_action('transition_post_status', 'wpse_110037_new_posts', 10, 3); function wpse_110037_new_posts($new_status, $old_status, $post) { if( $old_status != 'publish' && $new_status == 'publish' && !empty($post->ID) && in_array( $post->post_type, array( 'product') ) ) { //add some cde here } } 

Этот крюк действительно удобен. Он позволяет настроить таргетинг на конкретное действие: каждый раз после сохранения данных. Но с добавленным кодом вы можете избежать запуска кода, если это проект сохранения или обновления.

Если вы добавляете новый продукт в woocommerce, тогда отправляйте product_id

 add_action( 'draft_to_publish', 'my_product_update' ); function my_product_update( $post ) { if ( $post->post_type == "product" ) { $productId = $post->ID; // your code } } 

Я думаю, что лучший способ – использовать:

 add_action( 'publish_product', array($this, 'prd_published_message'), 10, 2); function prd_published_message( $ID, $post ) { ... } 

http://woocommerce.wp-a2z.org/oik_api/wp_transition_post_status/