function render_admin_field($field)
    {
        ob_start();
        $field['placeholder'] = isset($field['placeholder']) ? $field['placeholder'] : '';
        $field['value'] = isset($field['value']) ? $field['value'] : get_post_meta($thepostid, $field['id'], true);
        $field['name'] = isset($field['name']) ? $field['name'] : $field['id'];
        $field['value_type'] = isset($field['value_type']) ? $field['value_type'] : 'text';
        $field['class'] = isset($field['class']) ? $field['class'] : '';
        $data_type = empty($field['data_type']) ? '' : $field['data_type'];
        switch ($data_type) {
            case 'price':
                $field['class'] = ' wc_input_price';
                $field['value'] = wc_format_localized_price($field['value']);
                break;
            case 'decimal':
                $field['class'] = ' wc_input_decimal';
                $field['value'] = wc_format_localized_decimal($field['value']);
                break;
            case 'stock':
                $field['class'] = ' wc_input_stock';
                $field['value'] = wc_stock_amount($field['value']);
                break;
            case 'url':
                $field['class'] = ' wc_input_url';
                $field['value'] = esc_url($field['value']);
                break;
            default:
                break;
        }
        if ($field["location"] != "product_cat_add_form_fields" && $field["location"] != "product_cat_edit_form_fields") {
            ?>

		<p class="form-field <?php 
            echo esc_attr($field['name']);
            ?>
_field ">
			<label for="<?php 
            echo esc_attr($field['name']);
            ?>
"><?php 
            echo wp_kses_post($field['label']);
            echo isset($field["required"]) && $field["required"] == "yes" ? ' <span>*</span>' : '';
            ?>
</label>
			<input type="text" class="wccaf-field <?php 
            echo esc_attr($field['class']);
            ?>
" name="<?php 
            echo esc_attr($field['name']);
            ?>
" id="<?php 
            echo esc_attr($field['name']);
            ?>
" value="<?php 
            echo esc_attr($field['value']);
            ?>
" placeholder="<?php 
            echo esc_attr($field['placeholder']);
            ?>
" wccaf-type="text" wccaf-pattern="mandatory" wccaf-mandatory="<?php 
            echo $field["required"];
            ?>
" />
			<?php 
            if (!empty($field['description'])) {
                if (isset($field['desc_tip']) && "no" != $field['desc_tip']) {
                    ?>
					<img class="help_tip" data-tip="<?php 
                    echo wp_kses_post($field['description']);
                    ?>
" src="<?php 
                    echo esc_url(wcff()->info["dir"]);
                    ?>
/assets/images/help.png" height="16" width="16" />
				<?php 
                } else {
                    ?>
					<span class="description"><?php 
                    echo wp_kses_post($field['description']);
                    ?>
</span>
			<?php 
                }
            }
            ?>
	
			<span class="wccaf-validation-message wccaf-is-valid-<?php 
            echo $this->valid;
            ?>
"><?php 
            echo $field["message"];
            ?>
</span>
		</p>
		
		<?php 
        } else {
            if ($field["location"] == "product_cat_add_form_fields") {
                ?>
	
		<div class="form-field">
			<label for="<?php 
                echo esc_attr($field['name']);
                ?>
"><?php 
                echo wp_kses_post($field['label']);
                echo isset($field["required"]) && $field["required"] == "yes" ? ' <span>*</span>' : '';
                ?>
</label>
			<input type="text" class="wccaf-field <?php 
                echo esc_attr($field['class']);
                ?>
" name="<?php 
                echo esc_attr($field['name']);
                ?>
" id="<?php 
                echo esc_attr($field['name']);
                ?>
" value="<?php 
                echo esc_attr($field['value']);
                ?>
" placeholder="<?php 
                echo esc_attr($field['placeholder']);
                ?>
" wccaf-type="text" wccaf-pattern="mandatory" wccaf-mandatory="<?php 
                echo $field["required"];
                ?>
" />
			<p class="description"><?php 
                echo wp_kses_post($field['description']);
                ?>
</p>
			<span class="wccaf-validation-message wccaf-is-valid-<?php 
                echo $this->valid;
                ?>
"><?php 
                echo $field["message"];
                ?>
</span>
		</div>
			
		<?php 
            } else {
                if ($field["location"] == "product_cat_edit_form_fields") {
                    ?>
		
		<tr class="form-field">
			<th scope="row" valign="top"><label for="<?php 
                    echo esc_attr($field['name']);
                    ?>
"><?php 
                    echo wp_kses_post($field['label']);
                    echo isset($field["required"]) && $field["required"] == "yes" ? ' <span>*</span>' : '';
                    ?>
</label></th>
			<td>
				<input type="text" class="wccaf-field <?php 
                    echo esc_attr($field['class']);
                    ?>
" name="<?php 
                    echo esc_attr($field['name']);
                    ?>
" id="<?php 
                    echo esc_attr($field['name']);
                    ?>
" value="<?php 
                    echo esc_attr($field['value']);
                    ?>
" placeholder="<?php 
                    echo esc_attr($field['placeholder']);
                    ?>
" wccaf-type="text" wccaf-pattern="mandatory" wccaf-mandatory="<?php 
                    echo $field["required"];
                    ?>
" />
				<p class="description"><?php 
                    echo wp_kses_post($field['description']);
                    ?>
</p>
				<span class="wccaf-validation-message wccaf-is-valid-<?php 
                    echo $this->valid;
                    ?>
"><?php 
                    echo $field["message"];
                    ?>
</span>
			</td>
		</tr>
		
		<?php 
                }
            }
        }
        return ob_get_clean();
    }
 function wccaf_front_end_enqueue_scripts()
 {
     wp_enqueue_style('spectrum-css', wcff()->info['dir'] . 'assets/css/spectrum.css', array(), null);
     wp_register_script('wccpf-color-picker', wcff()->info['dir'] . 'assets/js/spectrum.js');
     wp_enqueue_script('wccpf-color-picker');
 }
    function render_admin_field($field)
    {
        ob_start();
        if ($field["location"] != "product_cat_add_form_fields" && $field["location"] != "product_cat_edit_form_fields") {
            ?>
	
		<p class="form-field <?php 
            echo esc_attr($field['name']);
            ?>
_field ">
			<label for="<?php 
            echo esc_attr($field['name']);
            ?>
"><?php 
            echo wp_kses_post($field['label']);
            echo isset($field["required"]) && $field["required"] == "yes" ? ' <span>*</span>' : '';
            ?>
</label>
			<input type="email" name="<?php 
            echo esc_attr($field['name']);
            ?>
" id="<?php 
            echo esc_attr($field['name']);
            ?>
" value="<?php 
            echo esc_attr($field['value']);
            ?>
" placeholder="<?php 
            echo esc_attr($field['placeholder']);
            ?>
" class="wccaf-field" wccaf-type="email" wccaf-pattern="mandatory" wccaf-mandatory="<?php 
            echo $field["required"];
            ?>
" />
			<?php 
            if (!empty($field['description'])) {
                if (isset($field['desc_tip']) && "no" != $field['desc_tip']) {
                    ?>
					<img class="help_tip" data-tip="<?php 
                    echo wp_kses_post($field['description']);
                    ?>
" src="<?php 
                    echo esc_url(wcff()->info["dir"]);
                    ?>
/assets/images/help.png" height="16" width="16" />
				<?php 
                } else {
                    ?>
					<span class="description"><?php 
                    echo wp_kses_post($field['description']);
                    ?>
</span>
			<?php 
                }
            }
            ?>
	
			<span class="wccaf-validation-message wccaf-is-valid-<?php 
            echo $this->valid;
            ?>
"><?php 
            echo $field["message"];
            ?>
</span>	
		</p>
	
		<?php 
        } else {
            if ($field["location"] == "product_cat_add_form_fields") {
                ?>
			
		<div class="form-field">
			<label for="<?php 
                echo esc_attr($field['name']);
                ?>
"><?php 
                echo wp_kses_post($field['label']);
                echo isset($field["required"]) && $field["required"] == "yes" ? ' <span>*</span>' : '';
                ?>
</label>
			<input type="email" name="<?php 
                echo esc_attr($field['name']);
                ?>
" id="<?php 
                echo esc_attr($field['name']);
                ?>
" value="<?php 
                echo esc_attr($field['value']);
                ?>
" placeholder="<?php 
                echo esc_attr($field['placeholder']);
                ?>
" class="wccaf-field" wccaf-type="email" wccaf-pattern="mandatory" wccaf-mandatory="<?php 
                echo $field["required"];
                ?>
" />
			<p class="description"><?php 
                echo wp_kses_post($field['description']);
                ?>
</p>
			<span class="wccaf-validation-message wccaf-is-valid-<?php 
                echo $this->valid;
                ?>
"><?php 
                echo $field["message"];
                ?>
</span>
		</div>
			
		<?php 
            } else {
                if ($field["location"] == "product_cat_edit_form_fields") {
                    ?>
		
		<tr class="form-field">
			<th scope="row" valign="top"><label for="<?php 
                    echo esc_attr($field['name']);
                    ?>
"><?php 
                    echo wp_kses_post($field['label']);
                    echo isset($field["required"]) && $field["required"] == "yes" ? ' <span>*</span>' : '';
                    ?>
</label></th>
			<td>
				<input type="email" name="<?php 
                    echo esc_attr($field['name']);
                    ?>
" id="<?php 
                    echo esc_attr($field['name']);
                    ?>
" value="<?php 
                    echo esc_attr($field['value']);
                    ?>
" placeholder="<?php 
                    echo esc_attr($field['placeholder']);
                    ?>
" class="wccaf-field" wccaf-type="email" wccaf-pattern="mandatory" wccaf-mandatory="<?php 
                    echo $field["required"];
                    ?>
" />
				<p class="description"><?php 
                    echo wp_kses_post($field['description']);
                    ?>
</p>
				<span class="wccaf-validation-message wccaf-is-valid-<?php 
                    echo $this->valid;
                    ?>
"><?php 
                    echo $field["message"];
                    ?>
</span>
			</td>
		</tr>
			
		<?php 
                }
            }
        }
        return ob_get_clean();
    }
    function wcff_post_admin_listing($hook_suffix)
    {
        global $post_type;
        if ($post_type == "wccpf" || $post_type == "wccaf") {
            ?>
					
<script type="text/javascript">

(function($) {	
	
	$(document).ready(function(){		
		var wrapper = $('<div class="wcff-post-listing-column"></div>');
		wrapper.append( $('<div class="wcff-left-column"></div>') );
		$("#posts-filter, .subsubsub").wrapAll( wrapper );
		
		var wcff_message_box = '<div class="wcff-message-box">';
		wcff_message_box += '<div class="wcff-msg-header"><h3>WC Fields Factory <span><?php 
            echo wcff()->info["version"];
            ?>
</span></h3></div>';
		wcff_message_box += '<div class="wcff-msg-content">';
		wcff_message_box += '<h5>Documentations</h5>';
		wcff_message_box += '<a href="https://sarkware.com/wc-fields-factory-a-wordpress-plugin-to-add-custom-fields-to-woocommerce-product-page/" title="Product Fields" target="_blank">Product Fields</a>';
		wcff_message_box += '<a href="https://sarkware.com/add-custom-fields-woocommerce-admin-products-admin-product-category-admin-product-tabs-using-wc-fields-factory/" title="Admin Fields" target="_blank">Admin Fields</a>';
		wcff_message_box += '<a href="https://sarkware.com/wc-fields-factory-api/" title="WC Fields Factory APIs" target="_blank">WC Fields Factory APIs</a>';
		wcff_message_box += '<a href="https://sarkware.com/woocommerce-change-product-price-dynamically-while-adding-to-cart-without-using-plugins#override-price-wc-fields-factory" title="Override Product Prices" target="_blank">Override Product Prices</a>';
		wcff_message_box += '<a href="https://sarkware.com/how-to-change-wc-fields-factory-custom-product-fields-rendering-behavior/" title="Rendering Behaviour" target="_blank">Rendering Behaviour</a>';		
		wcff_message_box += '</div>';
		wcff_message_box += '<div class="wcff-msg-footer">';
		wcff_message_box += '<a href="https://sarkware.com" title="Sarkware" target="_blank">';
		wcff_message_box += '<img src="<?php 
            echo wcff()->info["dir"];
            ?>
/assets/images/sarkware.png" alt="Sarkware" /> by Sarkware';
		wcff_message_box += '</a>';
		wcff_message_box += '</div>';		
		
		$(".wcff-post-listing-column").append( $('<div class="wcff-right-column">'+ wcff_message_box +'</div>') );
	});
	
})(jQuery);

</script>

<style type="text/css">
	#posts-filter p.search-box { display:none; }
</style>
							
		<?php 
        }
    }
 /**
  * Called from listen method
  * Primary handler for all wcff related Ajax request
  * It drilled down the wcff()->request object and determine what operation has been requested by client
  * Perform that operation and stores the rersponse on wcff()->response object
  */
 function handleRequest()
 {
     $data = array();
     $fields = array();
     $status = true;
     $message = "Success";
     do_action('wcff/update/post/type', wcff()->request["post_type"]);
     if (wcff()->request["context"] == "product") {
         /* Request arrived for Product List */
         if (wcff()->request["method"] == "GET") {
             $data = apply_filters('wcff/build/products/list', "wcff_condition_value select");
         }
     } else {
         if (wcff()->request["context"] == "product_cat") {
             /* Request arrived for Product Cat List */
             if (wcff()->request["method"] == "GET") {
                 $data = apply_filters('wcff/build/products/cat/list', "wcff_condition_value select");
             }
         } else {
             if (wcff()->request["context"] == "product_tag") {
                 if (wcff()->request["method"] == "GET") {
                     $data = apply_filters('wcff/build/products/tag/list', "wcff_condition_value select");
                 }
             } else {
                 if (wcff()->request["context"] == "product_type") {
                     if (wcff()->request["method"] == "GET") {
                         $data = apply_filters('wcff/build/products/type/list', "wcff_condition_value select");
                     }
                 } else {
                     if (wcff()->request["context"] == "location_product" || wcff()->request["context"] == "location_product_cat") {
                         /* Request arrived for Metabox Context & Priority List */
                         if (wcff()->request["method"] == "GET") {
                             $data = apply_filters('wcff/build/metabox/context/list', "wcff_location_metabox_context_value select");
                             $data .= apply_filters('wcff/build/metabox/priority/list', "wcff_location_metabox_priorities_value select");
                         }
                     } else {
                         if (wcff()->request["context"] == "location_product_data") {
                             /* Request arrived for Product Tab List */
                             if (wcff()->request["method"] == "GET") {
                                 $data = apply_filters('wcff/build/products/tabs/list', "wcff_location_product_data_value select");
                             }
                         } else {
                             if (wcff()->request["context"] == "wcff_meta_fields") {
                                 /* Request arrived for Meta Fields for one of a wcff field */
                                 if (wcff()->request["method"] == "GET") {
                                     $data = apply_filters('wcff/render/setup/fields/type=' . wcff()->request["payload"]["type"], wcff()->request["post_type"]);
                                 }
                             } else {
                                 if (wcff()->request["context"] == "wcff_field_single") {
                                 } else {
                                     if (wcff()->request["method"] == "GET") {
                                         $data = apply_filters('wcff/load/field', wcff()->request["post"], wcff()->request["payload"]["field_key"]);
                                         if (!$data) {
                                             $data = array();
                                             $message = "Failed to load wcff meta";
                                         }
                                     } else {
                                         if (wcff()->request["method"] == "POST") {
                                             $res = apply_filters('wcff/save/field', wcff()->request["post"], wcff()->request["payload"]);
                                             if ($res) {
                                                 $message = "Successfully Inserted";
                                                 $fields = apply_filters('wcff/load/fields', wcff()->request["post"]);
                                                 $data = apply_filters('wcff/build/fields', $fields);
                                             } else {
                                                 $status = false;
                                                 $message = "Failed to create custom field";
                                             }
                                         } else {
                                             if (wcff()->request["method"] == "PUT") {
                                                 $res = apply_filters('wcff/update/field', wcff()->request["post"], wcff()->request["payload"]);
                                                 if ($res) {
                                                     $message = "Successfully Updated";
                                                     $fields = apply_filters('wcff/load/fields', wcff()->request["post"]);
                                                     $data = apply_filters('wcff/build/fields', $fields);
                                                 } else {
                                                     $status = false;
                                                     $message = "Failed to update the custom field";
                                                 }
                                             } else {
                                                 $res = apply_filters('wcff/remove/field', wcff()->request["post"], wcff()->request["payload"]["field_key"]);
                                                 if ($res) {
                                                     $message = "Successfully removed";
                                                     $fields = apply_filters('wcff/load/fields', wcff()->request["post"]);
                                                     $data = apply_filters('wcff/build/fields', $fields);
                                                 } else {
                                                     $status = false;
                                                     $message = "Failed to remove the custom field";
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     /* Store Status, Message and Data, which will be flushed out to client later */
     wcff()->response = apply_filters('wcff/response', $status, $message, $data);
 }
    function render_admin_field($field)
    {
        ob_start();
        $select_options = '';
        $selected_val = isset($field["default_value"]) ? $field["default_value"] : "";
        if (isset($field["value"]) && $field["value"] != "") {
            $selected_val = $field["value"];
        }
        $choices = explode(";", $field["choices"]);
        foreach ($choices as $choice) {
            $attr = '';
            $key_val = explode("|", $choice);
            if ($choice == $field["default_value"]) {
                $attr = 'selected="selected"';
            } else {
                $attr = '';
            }
            if (isset($field["value"]) && $field["value"] == $selected_val) {
                if ($key_val[0] == $selected_val) {
                    $attr = 'selected="selected"';
                } else {
                    $attr = "";
                }
            } else {
                if (isset($field["default_value"]) && $field["default_value"] == $selected_val) {
                    if ($choice == $selected_val) {
                        $attr = 'selected="selected"';
                    } else {
                        $attr = "";
                    }
                }
            }
            $select_options .= '<option value="' . esc_attr(trim($key_val[0])) . '" ' . $attr . '>' . esc_html(trim($key_val[1])) . '</option>';
        }
        if ($field["location"] != "product_cat_add_form_fields" && $field["location"] != "product_cat_edit_form_fields") {
            ?>
	
		<p class="form-field <?php 
            echo esc_attr($field['name']);
            ?>
_field ">
			<label for="<?php 
            echo esc_attr($field['name']);
            ?>
"><?php 
            echo wp_kses_post($field['label']);
            echo isset($field["required"]) && $field["required"] == "yes" ? ' <span>*</span>' : '';
            ?>
</label>			
			<select class="wccaf-field" name="<?php 
            echo esc_attr($field["name"]);
            ?>
" wccaf-type="select" wccaf-pattern="mandatory" wccaf-mandatory="<?php 
            echo $field["required"];
            ?>
" >
			<?php 
            echo $select_options;
            ?>
		
			</select>				
			<?php 
            if (!empty($field['description'])) {
                if (isset($field['desc_tip']) && "no" != $field['desc_tip']) {
                    ?>
					<img class="help_tip" data-tip="<?php 
                    echo wp_kses_post($field['description']);
                    ?>
" src="<?php 
                    echo esc_url(wcff()->info["dir"]);
                    ?>
/assets/images/help.png" height="16" width="16" />
				<?php 
                } else {
                    ?>
					<span class="description"><?php 
                    echo wp_kses_post($field['description']);
                    ?>
</span>
				<?php 
                }
            }
            ?>
			<span class="wccaf-validation-message wccaf-is-valid-<?php 
            echo $this->valid;
            ?>
"><?php 
            echo $field["message"];
            ?>
</span>
		</p>
	
		<?php 
        } else {
            if ($field["location"] == "product_cat_add_form_fields") {
                ?>
		
		<div class="form-field">
			<label for="<?php 
                echo esc_attr($field['name']);
                ?>
"><?php 
                echo wp_kses_post($field['label']);
                echo isset($field["required"]) && $field["required"] == "yes" ? ' <span>*</span>' : '';
                ?>
</label>
			<select class="wccaf-field" name="<?php 
                echo esc_attr($field["name"]);
                ?>
" wccaf-type="select" wccaf-pattern="mandatory" wccaf-mandatory="<?php 
                echo $field["required"];
                ?>
" >
			<?php 
                echo $select_options;
                ?>
		
			</select>
			<p class="description"><?php 
                echo wp_kses_post($field['description']);
                ?>
</p>
			<span class="wccaf-validation-message wccaf-is-valid-<?php 
                echo $this->valid;
                ?>
"><?php 
                echo $field["message"];
                ?>
</span>
		</div>	
			
		<?php 
            } else {
                if ($field["location"] == "product_cat_edit_form_fields") {
                    ?>
			
		<tr class="form-field">
			<th scope="row" valign="top"><label for="<?php 
                    echo esc_attr($field['name']);
                    ?>
"><?php 
                    echo wp_kses_post($field['label']);
                    echo isset($field["required"]) && $field["required"] == "yes" ? ' <span>*</span>' : '';
                    ?>
</label></th>
			<td>
				<select class="wccaf-field" name="<?php 
                    echo esc_attr($field["name"]);
                    ?>
" wccaf-type="select" wccaf-pattern="mandatory" wccaf-mandatory="<?php 
                    echo $field["required"];
                    ?>
" >
				<?php 
                    echo $select_options;
                    ?>
		
				</select>
				<p class="description"><?php 
                    echo wp_kses_post($field['description']);
                    ?>
</p>
				<span class="wccaf-validation-message wccaf-is-valid-<?php 
                    echo $this->valid;
                    ?>
"><?php 
                    echo $field["message"];
                    ?>
</span>
			</td>
		</tr>
			
		<?php 
                }
            }
        }
        return ob_get_clean();
    }
Beispiel #7
0
            include_once 'classes/wcff-listener.php';
            include_once 'classes/wcff-post-form.php';
            include_once 'classes/wcff-product-form.php';
            if (is_admin()) {
                include_once 'classes/wcff-admin-form.php';
            }
            include_once 'classes/fields/wcff-fields.php';
            include_once 'classes/fields/wcff-text.php';
            include_once 'classes/fields/wcff-number.php';
            include_once 'classes/fields/wcff-email.php';
            include_once 'classes/fields/wcff-hidden.php';
            include_once 'classes/fields/wcff-label.php';
            include_once 'classes/fields/wcff-textarea.php';
            include_once 'classes/fields/wcff-checkbox.php';
            include_once 'classes/fields/wcff-radio.php';
            include_once 'classes/fields/wcff-select.php';
            include_once 'classes/fields/wcff-datepicker.php';
            include_once 'classes/fields/wcff-colorpicker.php';
            include_once 'classes/fields/wcff-file.php';
        }
    }
    function wcff()
    {
        global $wcff;
        if (!isset($wcff)) {
            $wcff = new wcff();
        }
        return $wcff;
    }
    wcff();
}
 function wccpf_front_end_enqueue_scripts($is_datepicker_there, $is_colorpicker_there)
 {
     if (is_shop() || is_product() || is_cart() || is_checkout()) {
         $wccpf_options = get_option('wccpf_options');
         $wccpf_options = is_array($wccpf_options) ? $wccpf_options : array();
         $fields_cloning = isset($wccpf_options["fields_cloning"]) ? $wccpf_options["fields_cloning"] : "no";
         wp_register_style('wccpf-font-end-style', wcff()->info['dir'] . 'assets/css/wccpf-front-end.css');
         wp_enqueue_style('wccpf-font-end-style');
         if ($is_datepicker_there) {
             wp_enqueue_style('wccpf-jquery-ui-css', '//ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/themes/base/jquery-ui.css', false, "1.9.0", false);
             wp_enqueue_style('time-picker-addon', wcff()->info['dir'] . 'assets/css/jquery-ui-timepicker-addon.css', array(), null);
             wp_enqueue_script('jquery-ui-core');
             wp_enqueue_script('jquery-ui-datepicker');
             wp_register_script('wccpf-datepicker-i18n', wcff()->info['dir'] . 'assets/js/jquery-ui-i18n.min.js');
             wp_register_script('wccpf-datetime-picker', wcff()->info['dir'] . 'assets/js/jquery-ui-timepicker-addon.min.js');
             wp_enqueue_script('wccpf-datetime-picker');
             wp_enqueue_script('wccpf-datepicker-i18n');
         }
         if ($is_colorpicker_there) {
             wp_register_style('spectrum-css', wcff()->info['dir'] . 'assets/css/spectrum.css');
             wp_register_script('wccpf-color-picker', wcff()->info['dir'] . 'assets/js/spectrum.js');
             wp_enqueue_style('spectrum-css');
             wp_enqueue_script('wccpf-color-picker');
         }
         wp_register_script('wccpf-front-end', wcff()->info['dir'] . 'assets/js/wccpf-front-end.js');
         wp_enqueue_script('wccpf-front-end');
     }
 }
    function render_admin_field($field)
    {
        ob_start();
        if ($field["location"] != "product_cat_add_form_fields" && $field["location"] != "product_cat_edit_form_fields") {
            ?>
	
		<p class="form-field <?php 
            echo esc_attr($field['name']);
            ?>
_field ">
			<label for="<?php 
            echo esc_attr($field['name']);
            ?>
"><?php 
            echo wp_kses_post($field['label']);
            echo isset($field["required"]) && $field["required"] == "yes" ? ' <span>*</span>' : '';
            ?>
</label>
			<input type="text" name="<?php 
            echo esc_attr($field["name"] . $name_index);
            ?>
" class="wccaf-field wccaf-color wccaf-color-<?php 
            echo esc_attr($field["name"]);
            ?>
" value="<?php 
            echo $field["value"];
            ?>
" wccaf-type="textbox" wccaf-pattern="mandatory" wccaf-mandatory="<?php 
            echo $field["required"];
            ?>
" />			
			<?php 
            if (!empty($field['description'])) {
                if (isset($field['desc_tip']) && "no" != $field['desc_tip']) {
                    ?>
				<img class="help_tip" data-tip="<?php 
                    echo wp_kses_post($field['description']);
                    ?>
" src="<?php 
                    echo esc_url(wcff()->info["dir"]);
                    ?>
/assets/images/help.png" height="16" width="16" />
			<?php 
                } else {
                    ?>
				<span class="description"><?php 
                    echo wp_kses_post($field['description']);
                    ?>
</span>
			<?php 
                }
            }
            ?>
			<span class="wccaf-validation-message wccaf-is-valid-<?php 
            echo $this->valid;
            ?>
"><?php 
            echo $field["message"];
            ?>
</span>		
		</p>
		
		<?php 
        } else {
            if ($field["location"] == "product_cat_add_form_fields") {
                ?>
			
		<div class="form-field">
			<label for="<?php 
                echo esc_attr($field['name']);
                ?>
"><?php 
                echo wp_kses_post($field['label']);
                echo isset($field["required"]) && $field["required"] == "yes" ? ' <span>*</span>' : '';
                ?>
</label>
			<input type="text" name="<?php 
                echo esc_attr($field["name"] . $name_index);
                ?>
" class="wccaf-field wccaf-color wccaf-color-<?php 
                echo esc_attr($field["name"]);
                ?>
" value="<?php 
                echo $field["value"];
                ?>
" wccaf-type="textbox" wccaf-pattern="mandatory" wccaf-mandatory="<?php 
                echo $field["required"];
                ?>
" />
			<p class="description"><?php 
                echo wp_kses_post($field['description']);
                ?>
</p>
			<span class="wccaf-validation-message wccaf-is-valid-<?php 
                echo $this->valid;
                ?>
"><?php 
                echo $field["message"];
                ?>
</span>
		</div>		
			
		<?php 
            } else {
                if ($field["location"] == "product_cat_edit_form_fields") {
                    ?>
			
		<tr class="form-field">
			<th scope="row" valign="top"><label for="<?php 
                    echo esc_attr($field['name']);
                    ?>
"><?php 
                    echo wp_kses_post($field['label']);
                    echo isset($field["required"]) && $field["required"] == "yes" ? ' <span>*</span>' : '';
                    ?>
</label></th>
			<td>
				<input type="text" name="<?php 
                    echo esc_attr($field["name"] . $name_index);
                    ?>
" class="wccaf-field wccaf-color wccaf-color-<?php 
                    echo esc_attr($field["name"]);
                    ?>
" value="<?php 
                    echo $field["value"];
                    ?>
" wccaf-type="textbox" wccaf-pattern="mandatory" wccaf-mandatory="<?php 
                    echo $field["required"];
                    ?>
" />
				<p class="description"><?php 
                    echo wp_kses_post($field['description']);
                    ?>
</p>
				<span class="wccaf-validation-message wccaf-is-valid-<?php 
                    echo $this->valid;
                    ?>
"><?php 
                    echo $field["message"];
                    ?>
</span>
			</td>
		</tr>
			
		<?php 
                }
            }
        }
        ?>
		
		<script type="text/javascript">
			var $ = jQuery;
			$( document ).ready(function() {		

				<?php 
        $palettes = null;
        $colorformat = isset($field["color_format"]) ? $field["color_format"] : "hex";
        if (isset($field["palettes"]) && $field["palettes"] != "") {
            $palettes = explode(";", $field["palettes"]);
        }
        ?>
												
				$( ".wccaf-color-<?php 
        echo esc_attr($field["name"]);
        ?>
").spectrum({
					 preferredFormat: "<?php 
        echo $colorformat;
        ?>
",					
					<?php 
        $comma = "";
        $indexX = 0;
        $indexY = 0;
        if (is_array($palettes) && count($palettes) > 0) {
            if ($field["show_palette_only"] == "yes") {
                echo "showPaletteOnly: true,";
            }
            echo "showPalette: true,";
            echo "palette : [";
            foreach ($palettes as $palette) {
                $indexX = 0;
                $comma = $indexY == 0 ? "" : ",";
                echo $comma . "[";
                $colors = explode(",", $palette);
                foreach ($colors as $color) {
                    $comma = $indexX == 0 ? "" : ",";
                    echo $comma . "'" . $color . "'";
                    $indexX++;
                }
                echo "]";
                $indexY++;
            }
            echo "]";
        }
        ?>
				});				
				
			});
		</script>
	
	<?php 
        return ob_get_clean();
    }