Ejemplo n.º 1
0
/**
 * Smush attachments (e.g. gallery images that were just uploaded)
 */
function gd_quicksetup_setup_wp_smushit()
{
    $attachments = get_posts(array('numberposts' => -1, 'post_type' => 'attachment', 'post_mime_type' => 'image'));
    foreach ($attachments as $attachment) {
        $original_meta = wp_get_attachment_metadata($attachment->ID, true);
        $meta = wp_smushit_resize_from_meta_data($original_meta, $attachment->ID, false);
        wp_update_attachment_metadata($attachment->ID, $meta);
        usleep(500000);
        // 500ms
    }
}
Ejemplo n.º 2
0
/**
 * Manually process an image from the Media Library
 */
function wp_smushit_manual()
{
    if (FALSE === current_user_can('upload_files')) {
        wp_die(__('You don\'t have permission to work with uploaded files.', WP_SMUSHIT_DOMAIN));
    }
    if (FALSE === isset($_GET['attachment_ID'])) {
        wp_die(__('No attachment ID was provided.', WP_SMUSHIT_DOMAIN));
    }
    $attachment_ID = intval($_GET['attachment_ID']);
    $original_meta = wp_get_attachment_metadata($attachment_ID);
    $new_meta = wp_smushit_resize_from_meta_data($original_meta, $attachment_ID);
    wp_update_attachment_metadata($attachment_ID, $new_meta);
    $sendback = wp_get_referer();
    $sendback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $sendback);
    wp_redirect($sendback);
    exit(0);
}
Ejemplo n.º 3
0
        ?>
    <button type="submit" class="button-secondary action">Run all my images through WP Smush.it right now</button>
  </form>
  
<?php 
    } else {
        // run the script
        if (!wp_verify_nonce($_REQUEST['_wpnonce'], 'wp-smushit-bulk') || !current_user_can('edit_others_posts')) {
            wp_die(__('Cheatin&#8217; uh?'));
        }
        ob_implicit_flush(true);
        ob_end_flush();
        foreach ($attachments as $attachment) {
            printf("<p>Processing <strong>%s</strong>&hellip;<br>", esc_html($attachment->post_name));
            $original_meta = wp_get_attachment_metadata($attachment->ID, true);
            $meta = wp_smushit_resize_from_meta_data($original_meta, $attachment->ID, false);
            printf("– %dx%d: ", intval($meta['width']), intval($meta['height']));
            if ($original_meta['wp_smushit'] == $meta['wp_smushit'] && stripos($meta['wp_smushit'], 'Smush.it error') === false) {
                echo 'already smushed' . $meta['wp_smushit'];
            } else {
                echo $meta['wp_smushit'];
            }
            echo '<br>';
            if (isset($meta['sizes']) && is_array($meta['sizes'])) {
                foreach ($meta['sizes'] as $size_name => $size) {
                    printf("– %dx%d: ", intval($size['width']), intval($size['height']));
                    if ($original_meta['sizes'][$size_name]['wp_smushit'] == $size['wp_smushit'] && stripos($meta['sizes'][$size_name]['wp_smushit'], 'Smush.it error') === false) {
                        echo 'already smushed';
                    } else {
                        echo $size['wp_smushit'];
                    }