我需要Woocommerce产品发布,更新和删除钩子,如果知道的话请告知我。
我找到了这个钩子:
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
}
}
但它只显示产品ID,标题,发布状态等....但我想要产品价格,类别,标签,品牌和库存状态。
如果有人知道,请重播我。
谢谢, 科坦。
答案 0 :(得分:10)
Woocommerce产品基本上是wordpress帖子。你可以使用wordpress hooks
add_action( 'before_delete_post', 'wpse_110037_new_posts' );
add_action( 'save_post', 'wpse_110037_new_posts' );
function wpse_110037_new_posts($post_id){
$WC_Product = wc_get_product( $post_id);
}
wc_get_product()
将返回WC_Product
个对象,您可以从中获取产品详细信息。
答案 1 :(得分:4)
我更喜欢检查状态是否不是草稿。您还可以使用第三个参数update
来检查它是否是更新
add_action( 'save_post', array($this, 'wpse1511_create_or_update_product' ), 10, 3);
function wpse1511_create_or_update_product($post_id, $post, $update){
if ($post->post_status != 'publish' || $post->post_type != 'product') {
return;
}
if (!$product = wc_get_product( $post )) {
return;
}
// Make something with $product
// You can also check $update
}