WordPress Customizer: Image Control vs Media Control

scales 1333455 1920
Bildquelle: Pixabay, aitoff

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 Customizer API.

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable