テーマカスタマイザでは、テーマカスタマイザからアップロードしたときにレスポンシブ背景画像をアップスケールするカスタムadd_action('wp_handle_upload', 'upscale_responsive_bg_imgs')
を持っています。予想通りに動作しますが、アップロードされたロゴ画像をアップスケールするという望ましくない効果があります(もちろん、サイズは当然のことながら、アップスケールではありません)。
$_POST
データは非常に単純なもので、元のフィールドの一意の識別子がありません。私が$GLOBALS
のどこかに詰め込まれていることから解放できる便利なメタデータの機会はありますか?
(
[name] => mystiqu_template_screenshot.jpg
[action] => upload-attachment
[_wpnonce] => 92fec00835
[post_data] => Array
(
[theme] => pure
)
)
コメントの@birgireからの助言のおかげで、context
を含む実装の例である2つのことを見つけることができました。以前このコンテキストから!
https://Gist.github.com/eduardozulian/4739075
/**
* Example of inserting a section called "Branding" with a
* context-based image uploader
*/
$wp_customize->add_section( 'my_branding', array(
'title' => __( 'Branding', '' ),
'priority' => 30,
) );
$wp_customize->add_setting( 'my_logo', array(
'capability' => 'edit_theme_options'
) );
$wp_customize->add_control( new My_Customize_Image_Reloaded_Control( $wp_customize, 'my_logo', array(
'label' => __( 'Logo', '' ),
'section' => 'my_branding',
'settings' => 'my_logo',
'context' => 'my-custom-logo'
) ) );