scales 1333455 1920
Bildquelle: Pixabay, aitoff

WordPress Customizer: Image Control vs Media Control

Mit WordPress 4.2 kam das neue Customize-Control WP_Customize_Media_Control für Medien. Davor gab es bereits die Media-Controls WP_Customize_Image_Control und WP_Customize_Upload_Control. Der Unterschied ist, dass das neue Control im Gegensatz zu seinen Mitcontrols, welche die URL der hochgeladenen Datei speichern, die ID des Mediums ablegt.

customizer mobile preview
Media Controls im WordPress Customizer
$wp_customize->add_control(
new  WP_Customize_Media_Control(
$wp_customize,
'logo-image',
array(
    'label' => __( 'Upload Logo Image' ),
    'section' => 'media',
    'mime_type' => 'image',
) ) );

Für Bilder, die üblicherweise in mehrere Versionen vorliegen, ist das richtig nützlich. Denn damit eröffnet sich über den gespeicherten Wert der Einstellung der Zugriff auf Dateiinformationen wie wp_get_attachment_url, wp_get_attachment_image_src usw.

Durch Angabe des mime_type-Parameters lässt sich der Upload auf einen bestimmten Medientyp beschränken (z.B. nur Bilder). Ergebnis ist dann ein reines Image_Control, das statt der URL des hochgeladenen Bildes dessen ID speichert.

Über wp_get_attachment_image_src($id, $size) hat man nun Zugriff auf die URLs und Dimensionen (für die Attribute width und height) jeder Version der hochgeladenen Datei.

Array ( [0] => http://www.example.com/wp-content/uploads/2015/01/logo.png [1] => 192 [2] => 53 [3] => )

WordPress Customizer

Seit WordPress 3.4 sind Anpassungen der Konfiguration mit Echtzeitvorschau Bestandteil des WordPress Kerns. Das funktioniert über die <a target="_blank" title="Theme Options – The Customizer API" href="https://developer.wordpress.org/themes/advanced-topics/customizer-api/">Customizer API</a>.

Kommentar schreiben

E-Mail-Adresse wird nicht veröffentlicht.

Overlay background for modal content