Hva kan vi hjelpe med?
Slette ubrukte PCKasse bilde (Snippet)
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',
));
});