удалить продукты WooCommerce по времени и специальной категории a - PullRequest
0 голосов
/ 02 сентября 2018

Я добавляю код в functions.php и отлично работаю, но мне нужно удалить только специальные категории больше 1, но не все категории только 3 Категории продуктов WooCommerce должны запускать этот код. как искать только выбранные категории для удаления ??

function set_delete_product_meta($id) {
global $wpdb,$current_user;
$posttype = get_post_type($id);
if ( $posttype =='revision' )
   return;
   if($posttype=='product')
   {
    $val=get_post_meta( $id, 'wdm_set_expiry',true);
         if($val!=1)
         {
            $month     = date('m');
            $day      = date('d')+X;
            $year      = date('Y');
            $hour      = date('H');
            $minute  =date('i');        
            $dt = get_gmt_from_date("$year-$month-$day $hour:$minute:0",'U');
            $vars = $id;
            wdm_delete_product($dt,$id,$vars);
            update_post_meta($id,'wdm_set_expiry',1);
         }
}
else
return;
}
add_action('wp_insert_post','set_delete_product_meta');



function wdm_delete_product($remove_date,$id,$vars) {
    if (wp_next_scheduled('wdm_remove_product',array($id)) !== false) 
        wp_clear_scheduled_hook('wdm_remove_product',array($id));
        wp_schedule_single_event($ts,'wdm_remove_product',array($id));
        // Update Post Meta
        update_post_meta($id, 'wdm_product_remove_date', $remove_date);
        update_post_meta($id, 'wdm_product_remove_date-value', $vars);
}


function wdm_remove_product($id){
         global $wpdb;
         if (empty($id)){ 
            return false;
         }
         if (is_null(get_post($id))){
            return false;
         }
         $pr_value = get_post_meta($id,'wdm_product_remove_date-value',true);
     // wp_delete_post($pr_value) ; //This will delete product
     $wpdb->query("Update $wpdb->posts set post_status='draft' where ID='$id'");// Change status to draft
    }
    add_action('wdm_remove_product','wdm_remove_product');
...