65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Custom control for radio buttons with nested options.
 | |
|  *
 | |
|  * Used for our image cropping settings.
 | |
|  *
 | |
|  * @version 3.3.0
 | |
|  * @package WooCommerce
 | |
|  */
 | |
| 
 | |
| if ( ! defined( 'ABSPATH' ) ) {
 | |
| 	exit;
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * WC_Customizer_Control_Cropping class.
 | |
|  */
 | |
| class WC_Customizer_Control_Cropping extends WP_Customize_Control {
 | |
| 
 | |
| 	/**
 | |
| 	 * Declare the control type.
 | |
| 	 *
 | |
| 	 * @var string
 | |
| 	 */
 | |
| 	public $type = 'woocommerce-cropping-control';
 | |
| 
 | |
| 	/**
 | |
| 	 * Render control.
 | |
| 	 */
 | |
| 	public function render_content() {
 | |
| 		if ( empty( $this->choices ) ) {
 | |
| 			return;
 | |
| 		}
 | |
| 
 | |
| 		$value         = $this->value( 'cropping' );
 | |
| 		$custom_width  = $this->value( 'custom_width' );
 | |
| 		$custom_height = $this->value( 'custom_height' );
 | |
| 		?>
 | |
| 
 | |
| 		<span class="customize-control-title">
 | |
| 			<?php echo esc_html( $this->label ); ?>
 | |
| 		</span>
 | |
| 
 | |
| 		<?php if ( ! empty( $this->description ) ) : ?>
 | |
| 			<span class="description customize-control-description"><?php echo esc_html( $this->description ); ?></span>
 | |
| 		<?php endif; ?>
 | |
| 
 | |
| 		<ul id="input_<?php echo esc_attr( $this->id ); ?>" class="woocommerce-cropping-control">
 | |
| 			<?php foreach ( $this->choices as $key => $radio ) : ?>
 | |
| 				<li>
 | |
| 					<input type="radio" name="<?php echo esc_attr( $this->id ); ?>" value="<?php echo esc_attr( $key ); ?>" id="<?php echo esc_attr( $this->id . $key ); ?>" <?php $this->link( 'cropping' ); ?> <?php checked( $value, $key ); ?> />
 | |
| 					<label for="<?php echo esc_attr( $this->id . $key ); ?>"><?php echo esc_html( $radio['label'] ); ?><br/><span class="description"><?php echo esc_html( $radio['description'] ); ?></span></label>
 | |
| 
 | |
| 					<?php if ( 'custom' === $key ) : ?>
 | |
| 						<span class="woocommerce-cropping-control-aspect-ratio">
 | |
| 							<input type="text" pattern="\d*" size="3" value="<?php echo esc_attr( $custom_width ); ?>" <?php $this->link( 'custom_width' ); ?> /> : <input type="text" pattern="\d*" size="3" value="<?php echo esc_attr( $custom_height ); ?>" <?php $this->link( 'custom_height' ); ?> />
 | |
| 						</span>
 | |
| 					<?php endif; ?>
 | |
| 				</li>
 | |
| 			<?php endforeach; ?>
 | |
| 		</ul>
 | |
| 		<?php
 | |
| 	}
 | |
| }
 |