Я использовал глобальный $ post_type и вернулся, если это заказ, также проверил, возвращен ли только продукт.Таким образом, мои переходные процессы удаляются тогда и только тогда, когда речь идет о каком-либо виде (массовом или обычном) операции CRUD только для продуктов.Итак, моя проблема решена.Вот мой код: -
function ga_delete_transients($post) {
global $wpdb,$post,$post_type;
if($post_type == 'shop_order') {
return;
}
if($post_type=='product' ) {
$sql = "SELECT * FROM ga_wp.wp_ga_options WHERE `option_name` LIKE ('%\_transient\_ga_loop_products_%')";
$ga_transient_result = $wpdb->get_results($sql);
if(!empty($ga_transient_result)){
$wpdb->query( "DELETE FROM ga_wp.wp_ga_options WHERE `option_name` LIKE ('%\_transient\_ga_loop_products_%')" );
}
}
else{
return;
}
}
$all_actions = array('save_post','wp_delete_post','wp_trash_post');
foreach ($all_actions as $current_action) {
add_action($current_action, 'ga_delete_transients',1);
}