Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
immortalist
/
wp-content
/
themes
/
woodmart
/
inc
/
integrations
/
visual-composer
/
fields
/
new
:
select.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * This file has function for rendering dropdown field. * * @package Woodmart. */ if ( ! defined( 'WOODMART_THEME_DIR' ) ) { exit( 'No direct script access allowed' ); } if ( ! function_exists( 'woodmart_get_select_param' ) ) { /** * This function rendering dropdown field. * * @param array $settings Settings. * @param string $value Value. * * @return false|string */ function woodmart_get_select_param( $settings, $value ) { $devices_maps = array( 'desktop' => esc_html__( 'Desktop', 'woodmart' ), 'tablet' => esc_html__( 'Tablet', 'woodmart' ), 'tablet_vertical' => esc_html__( 'Tablet', 'woodmart' ), 'mobile' => esc_html__( 'Mobile', 'woodmart' ), ); $devices = $settings['devices']; $data = json_decode( woodmart_decompress( $value ), true ); if ( isset( $data['devices'] ) ) { $settings['default'] = $settings['devices']; $settings['devices'] = wp_parse_args( $data['devices'], $settings['devices'] ); } $wrapper_classes = ' wd-style-' . $settings['style']; if ( isset( $settings['responsive_inherit'] ) ) { $wrapper_classes .= ' wd-responsive-inherit'; } ob_start(); ?> <div class="wd-select-fields<?php echo esc_attr( $wrapper_classes ); ?>"> <?php if ( 1 < count( $devices ) ) : ?> <div class="wd-field-devices"> <?php foreach ( $settings['devices'] as $device => $device_settings ) : ?> <?php $device_classes = ' wd-' . $device; if ( array_key_first( $settings['devices'] ) === $device ) { $device_classes .= ' xts-active'; } ?> <span class="wd-device<?php echo esc_attr( $device_classes ); ?>" data-value="<?php echo esc_attr( $device ); ?>" title="<?php echo esc_attr( ucfirst( $device ) ); ?>"> <span><?php echo esc_html( $devices_maps[ $device ] ); ?></span> </span> <?php endforeach; ?> </div> <?php endif; ?> <?php foreach ( $settings['devices'] as $device => $device_settings ) : ?> <?php $select_classes = ''; if ( array_key_first( $settings['devices'] ) === $device ) { $select_classes .= ' xts-active'; } ?> <div class="wd-select-wrapper<?php echo esc_attr( $select_classes ); ?>" data-device="<?php echo esc_attr( $device ); ?>"> <?php if ( 'images' === $settings['style'] || 'buttons' === $settings['style'] ) : ?> <ul class="wd-select-buttons"> <?php foreach ( $settings['value'] as $label => $buttons_value ) : ?> <?php $buttons_classes = ''; if ( $device_settings['value'] === $buttons_value ) { $buttons_classes .= ' xts-active'; } if ( 'images' === $settings['style'] ) { $buttons_classes .= ' woodmart-css-tooltip'; } ?> <li class="wd-buttons-item<?php echo esc_attr( $buttons_classes ); ?>" data-value="<?php echo esc_html( $buttons_value ); ?>" data-text="<?php echo esc_html( $label ); ?>"> <?php if ( 'images' === $settings['style'] ) : ?> <img src="<?php echo esc_url( $settings['images'][ $buttons_value ] ); ?>" alt="<?php echo esc_attr( $buttons_value ); ?>"> <?php else : ?> <span> <?php echo esc_html( $label ); ?> </span> <?php endif; ?> </li> <?php endforeach; ?> </ul> <?php endif; ?> <select class="wd-select" aria-label="<?php esc_attr_e( 'Dropdown', 'woodmart' ); ?>" <?php echo isset( $settings['multiple'] ) ? 'multiple' : ''; ?>> <?php if ( isset( $settings['responsive_inherit'] ) && 'desktop' !== $device ) : ?> <option value=""> <?php esc_html_e( 'Inherit', 'woodmart' ); ?> </option> <?php endif; ?> <?php foreach ( $settings['value'] as $label => $option_value ) : ?> <?php $selected = false; if ( is_array( $device_settings['value'] ) && in_array( $option_value, $device_settings['value'], false ) ) { // phpcs:ignore $selected = true; } elseif ( ! is_array( $device_settings['value'] ) && strval( $option_value ) === strval( $device_settings['value'] ) ) { $selected = true; } ?> <option value="<?php echo esc_attr( $option_value ); ?>" <?php selected( true, $selected ); ?>> <?php echo esc_html( $label ); ?> </option> <?php endforeach; ?> <?php if ( isset( $settings['options_group'] ) ) : ?> <?php foreach ( $settings['options_group'] as $group => $values ) : ?> <optgroup label="<?php echo esc_attr( $group ); ?>"> <?php foreach ( $values as $label => $group_value ) : ?> <option value="<?php echo esc_attr( $group_value ); ?>" <?php selected( $group_value, $device_settings['value'] ); ?>> <?php echo esc_html( $label ); ?> </option> <?php endforeach; ?> </optgroup> <?php endforeach; ?> <?php endif; ?> </select> </div> <?php endforeach; ?> <input type="hidden" class="wpb_vc_param_value" name="<?php echo esc_attr( $settings['param_name'] ); ?>" value="<?php echo esc_attr( $value ); ?>" data-settings="<?php echo esc_attr( wp_json_encode( $settings ) ); ?>"> </div> <?php return ob_get_clean(); } }