:



'attachment', 'post_mime_type' => 'image', 'numberposts' => -1, 'post_status' => null, 'post_parent' => null, // any parent 'output' => 'object', ) ); foreach ( $attachments as $attachment ) { $res[] = array('id' => $attachment->ID, 'title' => $attachment->post_title); } die( json_encode($res) ); } else if ($action == "regen") { $id = $_POST["id"]; $fullsizepath = get_attached_file( $id ); if ( FALSE !== $fullsizepath && @file_exists($fullsizepath) ) { set_time_limit( 30 ); wp_update_attachment_metadata( $id, wp_generate_attachment_metadata_custom( $id, $fullsizepath, $thumbnails ) ); } die( wp_get_attachment_thumb_url( $id )); } } add_action('wp_ajax_ajax_thumbnail_rebuild', 'ajax_thumbnail_rebuild_ajax'); add_action( 'plugins_loaded', create_function( '', 'global $aARebuild; $aARebuild = new aARebuild();' ) ); function ajax_thumbnail_rebuild_get_sizes() { global $_wp_additional_image_sizes; foreach ( get_intermediate_image_sizes() as $s ) { $sizes[$s] = array( 'name' => '', 'width' => '', 'height' => '', 'crop' => FALSE ); /* Read theme added sizes or fall back to default sizes set in options... */ $sizes[$s]['name'] = $s; if ( isset( $_wp_additional_image_sizes[$s]['width'] ) ) $sizes[$s]['width'] = intval( $_wp_additional_image_sizes[$s]['width'] ); else $sizes[$s]['width'] = get_option( "{$s}_size_w" ); if ( isset( $_wp_additional_image_sizes[$s]['height'] ) ) $sizes[$s]['height'] = intval( $_wp_additional_image_sizes[$s]['height'] ); else $sizes[$s]['height'] = get_option( "{$s}_size_h" ); if ( isset( $_wp_additional_image_sizes[$s]['crop'] ) ) $sizes[$s]['crop'] = intval( $_wp_additional_image_sizes[$s]['crop'] ); else $sizes[$s]['crop'] = get_option( "{$s}_crop" ); } return $sizes; } function wp_generate_attachment_metadata_custom( $attachment_id, $file, $thumbnails = NULL ) { $attachment = get_post( $attachment_id ); $metadata = array(); if ( preg_match('!^image/!', get_post_mime_type( $attachment )) && file_is_displayable_image($file) ) { $imagesize = getimagesize( $file ); $metadata['width'] = $imagesize[0]; $metadata['height'] = $imagesize[1]; list($uwidth, $uheight) = wp_constrain_dimensions($metadata['width'], $metadata['height'], 128, 96); $metadata['hwstring_small'] = "height='$uheight' width='$uwidth'"; // Make the file path relative to the upload dir $metadata['file'] = _wp_relative_upload_path($file); $sizes = ajax_thumbnail_rebuild_get_sizes(); $sizes = apply_filters( 'intermediate_image_sizes_advanced', $sizes ); foreach ($sizes as $size => $size_data ) { if( isset( $thumbnails ) && !in_array( $size, $thumbnails )) $intermediate_size = image_get_intermediate_size( $attachment_id, $size_data['name'] ); else $intermediate_size = image_make_intermediate_size( $file, $size_data['width'], $size_data['height'], $size_data['crop'] ); if ($intermediate_size) $metadata['sizes'][$size] = $intermediate_size; } // fetch additional metadata from exif/iptc $image_meta = wp_read_image_metadata( $file ); if ( $image_meta ) $metadata['image_meta'] = $image_meta; } return apply_filters( 'wp_generate_attachment_metadata', $metadata, $attachment_id ); } ?>