Forked from eduardozulian/wp-customize-image-reloaded.php
Created
March 3, 2016 07:10
-
-
Save manidip/e44d0260a7120f4b51c6 to your computer and use it in GitHub Desktop.
Extend WP_Customize_Image_Control class allowing access to files uploaded within the same context.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Customize Image Reloaded Class | |
* | |
* Extend WP_Customize_Image_Control allowing access to uploads made within | |
* the same context | |
*/ | |
class My_Customize_Image_Reloaded_Control extends WP_Customize_Image_Control { | |
/** | |
* Constructor. | |
* | |
* @since 3.4.0 | |
* @uses WP_Customize_Image_Control::__construct() | |
* | |
* @param WP_Customize_Manager $manager | |
*/ | |
public function __construct( $manager, $id, $args = array() ) { | |
parent::__construct( $manager, $id, $args ); | |
} | |
/** | |
* Search for images within the defined context | |
*/ | |
public function tab_uploaded() { | |
$my_context_uploads = get_posts( array( | |
'post_type' => 'attachment', | |
'meta_key' => '_wp_attachment_context', | |
'meta_value' => $this->context, | |
'orderby' => 'post_date', | |
'nopaging' => true, | |
) ); | |
?> | |
<div class="uploaded-target"></div> | |
<?php | |
if ( empty( $my_context_uploads ) ) | |
return; | |
foreach ( (array) $my_context_uploads as $my_context_upload ) { | |
$this->print_tab_image( esc_url_raw( $my_context_upload->guid ) ); | |
} | |
} | |
} | |
/** | |
* 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' | |
) ) ); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment