it-swarm.com.de

Benutzerdefinierte Bildgrößen aus der Medienbibliothek ausblenden

Ich möchte einige benutzerdefinierte Bildgrößen vor dem Medien-Uploader verbergen:

enter image description here

Der folgende Code ( hier gepostet ) funktioniert nur für die Standardbildgrößen:

function remove_image_sizes($sizes) {
    unset($sizes['image-name']);
    return $sizes;
}
add_filter('image_size_names_choose', 'remove_image_sizes');

Gibt es eine ähnliche Lösung, um benutzerdefinierte Bildgrößen zu deaktivieren?

5

Die Verwendung von unset und intermediate_image_sizes_advanced funktioniert jedoch nur bei hochgeladenen Bildern. nach Die Funktion wurde hinzugefügt. Um sie für vorhandene Bilder zu ändern, müssen Sie sie mit einem Plug-in neu generieren (im Wesentlichen durch Löschen dieser Bildgröße) oder diese Option einfach ausblenden, damit sie nicht sichtbar ist.

Getestet am 3.5.1

// add custom image size
function mytheme_95344() {
        add_image_size('x-la',800,800, false);
}
add_action( 'after_setup_theme', 'mytheme_95344' );

// remove it
function remove_image_size_95344($sizes) {
    unset($sizes['x-la']);
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'remove_image_size_95344');

Daher wird diese x-la-Größe für Bilder immer noch angezeigt, bevor die unset-Funktion hinzugefügt wurde.

Um dies zu entfernen, können Sie.

  1. Regenerieren Sie alle Bilder (ein Schmerz).
  2. Blenden Sie es mit image_size_names_choose aus der Anzeige aus.

    function remove_image_size_95344($possible_sizes) {
    
     unset( $possible_sizes['x-la'] );
     return $possible_sizes;
    
    }  
    add_filter('image_size_names_choose', 'remove_image_size_95344');
    

Zur Verdeutlichung der Filter:

intermediate_image_sizes_advanced - bewirkt den eigentlichen Upload
image_size_names_choose - Beeinflusst die Sichtbarkeit des Dropdowns in der Medienbox

Beachten Sie auch:

Es kann sein, dass ein Theme oder Plugin bereits irgendwo den image_size_names_choose-Filter verwendet, da dies bei der Verwendung von add_image_size für benutzerdefinierte Bilder sehr häufig vorkommt. In diesem Fall können Sie immer noch einen zweiten image_size_names_choose-Filter verwenden und den $priority so einstellen, dass er nach den ersten auslöst.

 //default filter adding your custom sizes to dropdown
 // not having a 3rd parameter will default to priority of 10
 add_filter( 'image_size_names_choose', 'my_insert_custom_image_sizes' );
 //second use of same filter to remove images note the additional 15 to fire after the above
 add_filter( 'image_size_names_choose', 'remove_image_sizes', 15);

So zeigen Sie die Funktionsweise von Filtern an: http://codex.wordpress.org/Function_Reference/add_filter

6
Wyck