web-dev-qa-db-ja.com

カスタマイザ:どの画像アップロードコントロールが画像をアップロードしているかを識別する一意の識別子

テーマカスタマイザでは、テーマカスタマイザからアップロードしたときにレスポンシブ背景画像をアップスケールするカスタム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
        )

)
1
Brian

コメントの@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'
) ) );
1
Brian