Hva kan vi hjelpe med?

Slette ubrukte PCKasse bilde (Snippet)

You are here:
< Alle overskrifter

Fyller WooCommerce opp med ubrukte PCKassebilder? Bruk denne snippet

/**
 * Delete unnecessary PCK images
 */
function delete_pck_images($request){	 
	global $wpdb;
	$params = $request->get_params();
	
	$limit = $params["number_of_images"];
	$wp_posts = $wpdb->prefix."posts";
	$wp_postmeta = $wpdb->prefix."postmeta";
	
	// Get all woocommerce attachment imges
	$img_thumbnail = "SELECT meta_value as imgids  FROM `$wp_postmeta` WHERE `meta_key` in ('_product_image_gallery','_thumbnail_id' ) "; 
	$thumbnails = $wpdb->get_results($img_thumbnail);
	
	$imd_ids = array();
	foreach($thumbnails as $img){
		$imd_id= explode(',',$img->imgids);
		$imd_ids = array_merge($imd_ids,$imd_id);
	}
	$thumbnails_ids = array_unique($imd_ids);
	$thumbnails_str = implode(',',$thumbnails_ids); 
	$thumbnails_str = trim($thumbnails_str,",");
	
	
	$sql_q ="SELECT * FROM $wp_posts i WHERE i.post_type = 'attachment' AND i.post_name LIKE '%_pck%' AND i.ID NOT IN (".$thumbnails_str.") LIMIT 0,$limit";
	 
	 //   die();
	$results = $wpdb->get_results($sql_q);
	$data= array();
	if(!empty($results)){
		 foreach($results as $img){
			$res = wp_delete_attachment($img->ID,true);
			 $data[] = $res;
		 }
	 } 
	 return $data;
	 
}


add_action( 'rest_api_init', function () {
	 
    register_rest_route( 'wc/v3', 'delete_pck_images', array(
        'methods' => 'POST', // array( 'GET', 'POST', 'PUT', )
        'callback' => 'delete_pck_images',
    ));
	
}); 
Table of Contents