Customizer:唯一的标识符,用于区分哪个图像上载控件正在上载图像

时间:2014-10-19 作者:Brian

在主题定制器中,我有一个自定义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 个回复
最合适的回答,由SO网友:Brian 整理而成

感谢@birgire在评论中的提示,我找到了两件事,一个实现示例包括context, 这里(还需要注意的是,Github gist提供了访问以前从该上下文上传的任何图像的非常有用的功能的代码!

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\'
) ) );

结束