Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. function replace_original_images( $override, $filename, $image, $mime_type, $post_id ) {
  2. if ( 'image/jpeg' !== $mime_type && 'image/png' !== $mime_type ) {
  3. return $override;
  4. }
  5. $image_meta = wp_get_attachment_metadata( $post_id );
  6. $upload_dir = wp_upload_dir();
  7.  
  8. $original_file_path = path_join( $upload_dir['basedir'], $image_meta['file'] );
  9.  
  10. // 'full dir' includes year and mouth location
  11. $upload_full_dir = str_replace( basename( $original_file_path ), '', $original_file_path );
  12.  
  13. // delete original image
  14. unlink( $original_file_path );
  15.  
  16. // delete other sizes
  17. foreach ( $image_meta['sizes'] as $size ) {
  18. unlink( $upload_full_dir . $size['file'] );
  19. }
  20. // regenerate added sizes
  21. function regenerate_added_sizes( $meta_id, $object_id, $meta_key ) {
  22. if ( '_wp_attachment_metadata' !== $meta_key ) {
  23. return;
  24. }
  25. $image_meta = wp_get_attachment_metadata( $object_id );
  26. $upload_dir = wp_upload_dir();
  27.  
  28. $new_file_path = path_join( $upload_dir['basedir'], $image_meta['file'] );
  29.  
  30. // prevent infinite loops
  31. remove_action( 'updated_post_meta', 'regenerate_added_sizes' );
  32.  
  33. update_post_meta( $object_id, $meta_key, wp_generate_attachment_metadata( $object_id, $new_file_path ) );
  34. }
  35. add_action( 'updated_post_meta', 'regenerate_added_sizes', 10, 3 );
  36.  
  37. return $override;
  38. }
  39. add_filter( 'wp_save_image_editor_file', 'replace_original_images', 10, 5 );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement