it-swarm.com.de

Hinzufügen einer benutzerdefinierten Bild-Upload-Größe und standardmäßige Auswahl?

Wie kann ich eine benutzerdefinierte Upload-Größe für Bilder mit einer Breite von 550 Pixel hinzufügen und auf der Seite Medien hinzufügen als Standard festlegen?

Derzeit sind 4 Größen verfügbar: Thumbnail, Medium, Large und Full Size. Die Option Full Size ist standardmäßig ausgewählt.

Kennt jemand eine funktionierende Lösung dafür?

5
Amanda Bynes

Es gibt ein paar Schritte dazu, wie ich heute herausgefunden habe. Zuerst fügen Sie eine benutzerdefinierte Bildgröße hinzu (Sie können diese an einer beliebigen Stelle in die functions.php-Datei Ihres Themas einfügen):

add_theme_support( 'post-thumbnails' );
add_image_size( 'my-size', 550, 550 ); // not sure what you want your height to
                                     // be, but this'll shrink it to 550px
                                     // wide *or* tall. If you want it to be
                                     // cropped to a 550px square, add true as
                                     // a fourth argument

Leider zeigt WordPress diese neue Größe im Media Uploader nicht an. Sie müssen auch eine Funktion in Ihren functions.php einfügen (Quelle: http://kucrut.org/insert-image-with-custom-size-into-post/ ):

function my_insert_custom_image_sizes( $sizes ) {
    // get the custom image sizes
    global $_wp_additional_image_sizes;
    // if there are none, just return the built-in sizes
    if ( empty( $_wp_additional_image_sizes ) )
        return $sizes;

    // add all the custom sizes to the built-in sizes
    foreach ( $_wp_additional_image_sizes as $id => $data ) {
        // take the size ID (e.g., 'my-name'), replace hyphens with spaces,
        // and capitalise the first letter of each Word
        if ( !isset($sizes[$id]) )
            $sizes[$id] = ucfirst( str_replace( '-', ' ', $id ) );
    }

    return $sizes;
}

// apply the above function as a filter on the media uploader's list of
// image sizes
add_filter( 'image_size_names_choose', 'my_insert_custom_image_sizes' );

Um diese Größe als Standard festzulegen, müssen Sie eine WordPress-Einstellung ändern. Fügen Sie der betreffenden Einstellung einen Filter hinzu. Dies hat den Vorteil, dass Sie mit Ihrem Thema, in dem Sie alle oben genannten Optionen definiert haben, portierbar sind.

function my_set_default_image_size () {
    return 'my-size';
}
add_filter( 'pre_option_image_default_size', 'my_set_default_image_size' );

Ich habe das alles mit WordPress 3.4.2 ausprobiert und es scheint großartig zu funktionieren.

Hinweis: Ich würde empfehlen, den obigen PHP -Code in eine Art Init-Funktion einzufügen und ihn an den 'after_setup_theme'-Hook anzuhängen:

// define the functions first
function my_insert_custom_image_sizes( $sizes ) {
    // not going to repeat the function body, for brevity's sake
}

function my_set_default_image_size() {
    // ditto
}

// define the init function next, which sets up all the necessary stuff
function custom_image_setup () {
    add_theme_support( 'post-thumbnails' );
    add_image_size( 'my-size', 550, 550 );
    add_filter( 'image_size_names_choose', 'my_insert_custom_image_sizes' );
    add_filter( 'pre_option_image_default_size', 'my_set_default_image_size' );
}

// and attach that init function to the 'after_setup_theme' hook
// so it runs on each page load once your theme's been loaded
add_action( 'after_setup_theme', 'custom_image_setup' );
7
Paul d'Aoust

Setzen Sie einfach alle anderen Optionen in Ihrem Admin-Bereich unter "Einstellungen" "" Medien "auf 0. Dadurch werden sie deaktiviert.

0
kaiser