Example #1
0
<?php

vc_map(array("name" => __("WOO Products", DHVC_WOO), "base" => "dhvc_woo_products", "category" => __("WooComerce", DHVC_WOO), "icon" => "icon-dhvc-woo-product", "params" => dhvc_woo_params()));
Example #2
0
    public function shortcode_params()
    {
        $params = dhvc_woo_params();
        $params_fields = array('dhvc_woo_field_id' => 'dhvc_woo_setting_field_id', 'dhvc_woo_field_products_ajax' => 'dhvc_woo_setting_field_products_ajax', 'dhvc_woo_field_exclude_products_ajax' => 'dhvc_woo_setting_field_products_ajax', 'dhvc_woo_field_id' => 'dhvc_woo_setting_field_id', 'dhvc_woo_field_categories' => 'dhvc_woo_setting_field_categories', 'dhvc_woo_field_exclude_categories' => 'dhvc_woo_setting_field_categories', 'dhvc_woo_field_tags' => 'dhvc_woo_setting_field_tags', 'dhvc_woo_field_brands' => 'dhvc_woo_setting_field_brands', 'dhvc_woo_field_exclude_brands' => 'dhvc_woo_setting_field_brands', 'dhvc_woo_field_exclude_tags' => 'dhvc_woo_setting_field_tags', 'dhvc_woo_field_attributes' => 'dhvc_woo_setting_field_attributes', 'dhvc_woo_field_heading' => 'dhvc_woo_setting_field_heading');
        ob_start();
        ?>
		<div class="dhvc-woo-shortcode-params">
		<?php 
        foreach ($params as $param) {
            ?>
		<div class="dhvc-woo-shortcode-param">
			<?php 
            if (isset($param['heading'])) {
                ?>
			<div class="dhvc-woo-element-label"><?php 
                echo $param['heading'];
                ?>
</div>
			<?php 
            }
            ?>
			<div class="dhvc-woo-element-input">
				<?php 
            $dependency = '';
            if (isset($param['dependency'])) {
                $dependency_value = isset($param['dependency']['value']) ? $param['dependency']['value'] : '';
                if (is_array($dependency_value)) {
                    $dependency_value = implode(',', $dependency_value);
                }
                $dependency = 'data-dependency="toggle" data-dependency-element="' . $param['dependency']['element'] . '" data-dependency-value = "' . $dependency_value . '"';
            }
            if (array_key_exists($param['type'], $params_fields)) {
                $func = $params_fields[$param['type']];
                $value = '';
                if (isset($param['value'])) {
                    $value = $param['value'];
                }
                echo call_user_func($func, $param, $value, $dependency);
            } else {
                switch ($param['type']) {
                    case 'textfield':
                        echo '<input ' . $dependency . ' id="' . $param['param_name'] . '" class="dhvc-woo-param-value" name="' . $param['param_name'] . '" value="' . @$param['value'] . '" type="text"/>';
                        break;
                    case 'dropdown':
                        $param_line = '<select ' . $dependency . ' name="' . $param['param_name'] . '" class="dhvc-woo-param-value" id="' . $param['param_name'] . '">';
                        $param_value = '';
                        $flag = false;
                        foreach ($param['value'] as $text_val => $val) {
                            if (is_numeric($text_val) && (is_string($val) || is_numeric($val))) {
                                $text_val = $val;
                            }
                            $text_val = __($text_val, DHVC_WOO);
                            $selected = '';
                            if (!$flag) {
                                $param_value = $val;
                                $flag = true;
                            }
                            if ((string) $val === (string) $param_value) {
                                $selected = ' selected="selected"';
                            }
                            $param_line .= '<option value="' . $val . '"' . $selected . '>' . htmlspecialchars($text_val) . '</option>';
                        }
                        $param_line .= '</select>';
                        echo $param_line;
                        break;
                    case 'checkbox':
                        $values = is_array($param['value']) ? $param['value'] : array();
                        $param_line = '';
                        foreach ($values as $label => $v) {
                            $checked = '';
                            $param_line .= ' <input ' . $dependency . ' id="' . $param['param_name'] . '-' . $v . '" value="' . $v . '" class="dhvc-woo-param-value ' . $param['param_name'] . ' ' . $param['type'] . '" type="checkbox" name="' . $param['param_name'] . '"' . $checked . '> ' . __($label, DHVC_WOO);
                        }
                        echo $param_line;
                        break;
                    case 'colorpicker':
                        echo '<div class="color-group">' . '<input ' . $dependency . ' name="' . $param['param_name'] . '" class="dhvc-woo-param-value ' . $param['type'] . '_field dhvc-woo-color-control" value="' . $param['value'] . '" type="text"/>' . '</div>';
                        break;
                    default:
                        break;
                }
            }
            ?>
				<?php 
            if (isset($param['description'])) {
                ?>
				<span class="clear" style="font-size: 11px;color:#999999"><?php 
                echo $param['description'];
                ?>
</span>
				<?php 
            }
            ?>
			</div>
		</div>
		<?php 
        }
        ?>
		<p class="submit">
			<input id="dhvcwoocommerce-shortcode-submit" class="button-primary" type="button" value="Insert Shortcode">
		</p>
		</div>
		<?php 
        return ob_get_clean();
    }