WooCommerce挂钩发布产品

时间:2013-08-14 作者:pdme

我想在管理员发布产品时添加一个操作,但是WP hook publish\\u post不会触发,即使wc产品只是另一种类型的post。

我还没有找到在产品发布时触发的woocommerce挂钩。

有什么想法吗?

3 个回复
最合适的回答,由SO网友:JMau 整理而成

我建议你使用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
     }

  }
这个钩子真的很方便。它允许您针对特定的操作:每次保存post数据时。但使用我添加的代码,如果是草稿保存或升级,您可以避免触发代码。

SO网友:Balachandran

如果您在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
    }
}

SO网友:Damien JALLON

我认为最好的方法是使用:

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/

结束

相关推荐

Display All Non-Used Plugins

我的公司目前拥有大约20个多站点,并且每天都在增长。我们正在尝试通过插件并制定标准。IE,表单使用插件X。然而,我们还没有找到一种单一的方法来检查和系统地显示哪些插件甚至没有被使用。是否有一个功能可以向我们显示已使用或未使用的插件?我试着寻找我能想到的一切,但我一生都找不到答案。