'full', // The size of the image to use in the generated CSS 'placeholder' => '', // show this when blank ); /** * Constructor * * @return void * @since 1.5 */ function __construct( $settings, $owner ) { parent::__construct( $settings, $owner ); add_filter( 'tf_generate_css_upload_' . $this->getOptionNamespace(), array( $this, 'generateCSS' ), 10, 2 ); } /** * Generates CSS for the font, this is used in TitanFrameworkCSS * * @param string $css The CSS generated * @param TitanFrameworkOption $option The current option being processed * @return string The CSS generated * @since 1.5 */ public function generateCSS( $css, $option ) { if ( $this->settings['id'] != $option->settings['id'] ) { return $css; } $value = $this->getFramework()->getOption( $option->settings['id'] ); if ( empty( $value ) ) { return $css; } if ( is_numeric( $value ) ) { $size = ! empty( $option->settings['size'] ) ? $option->settings['size'] : 'thumbnail'; $attachment = wp_get_attachment_image_src( $value, $size ); $value = $attachment[0]; } $css .= "\$" . $option->settings['id'] . ": url(" . $value . ");"; if ( ! empty( $option->settings['css'] ) ) { // In the css parameter, we accept the term `value` as our current value, // translate it into the SaSS variable for the current option $css .= str_replace( 'value', '#{$' . $option->settings['id'] . '}', $option->settings['css'] ); } return $css; } /* * Display for options and meta */ public function display() { self::createUploaderScript(); $this->echoOptionHeader(); // display the preview image $value = $this->getValue(); if ( is_numeric( $value ) ) { // gives us an array with the first element as the src or false on fail $value = wp_get_attachment_image_src( $value, array( 150, 150 ) ); } if ( ! is_array( $value ) ) { $value = $this->getValue(); } else { $value = $value[0]; } $previewImage = ''; if ( ! empty( $value ) ) { $previewImage = ""; } echo "
" . $previewImage . "
"; printf("", $this->getID(), $this->settings['placeholder'], $this->getID(), esc_attr( $this->getValue() ) ); $this->echoOptionFooter(); } /* * Display for theme customizer */ public function registerCustomizerControl( $wp_customize, $section, $priority = 1 ) { $wp_customize->add_control( new TitanFrameworkOptionUploadControl( $wp_customize, $this->getID(), array( 'label' => $this->settings['name'], 'section' => $section->getID(), 'settings' => $this->getID(), 'description' => $this->settings['desc'], 'priority' => $priority, ) ) ); } public static function createUploaderScript() { if ( ! self::$firstLoad ) { return; } self::$firstLoad = false; ?> value(); if ( is_numeric( $value ) ) { // gives us an array with the first element as the src or false on fail $value = wp_get_attachment_image_src( $value, array( 150, 150 ) ); } if ( ! is_array( $value ) ) { $value = $this->value(); } else { $value = $value[0]; } if ( ! empty( $value ) ) { $previewImage = ""; } ?>
label ); ?>
link(); ?>/>
description ) ) { echo "

{$this->description}

"; } } } }