utils->is_step_post_type( $screen->post_type )
) {
wp_enqueue_style( 'woocommerce_admin_styles' );
wp_enqueue_script( 'select2' );
wp_enqueue_script( 'wc-enhanced-select' );
wp_enqueue_script(
'wcf-admin-meta',
CARTFLOWS_URL . 'admin/meta-assets/js/admin-edit.js',
array( 'jquery', 'select2', 'wp-color-picker' ),
CARTFLOWS_VER,
true
);
wp_enqueue_style( 'wcf-admin-meta', CARTFLOWS_URL . 'admin/meta-assets/css/admin-edit.css', array( 'wp-color-picker' ), CARTFLOWS_VER );
wp_style_add_data( 'wcf-admin-meta', 'rtl', 'replace' );
$localize = array(
'ajax_url' => admin_url( 'admin-ajax.php' ),
'google_fonts' => CartFlows_Font_Families::get_google_fonts(),
'system_fonts' => CartFlows_Font_Families::get_system_fonts(),
'font_weights' => array(
'100' => __( 'Thin 100', 'cartflows' ),
'200' => __( 'Extra-Light 200', 'cartflows' ),
'300' => __( 'Light 300', 'cartflows' ),
'400' => __( 'Normal 400', 'cartflows' ),
'500' => __( 'Medium 500', 'cartflows' ),
'600' => __( 'Semi-Bold 600', 'cartflows' ),
'700' => __( 'Bold 700', 'cartflows' ),
'800' => __( 'Extra-Bold 800', 'cartflows' ),
'900' => __( 'Ultra-Bold 900', 'cartflows' ),
)
);
wp_localize_script( 'jquery', 'wcf', apply_filters( 'wcf_js_localize', $localize ) );
do_action( 'cartflows_admin_meta_scripts' );
}
}
/**
* Function to search coupons
*/
public function json_search_coupons() {
check_admin_referer( 'wcf-json-search-coupons', 'security' );
global $wpdb;
$term = (string) urldecode( sanitize_text_field( wp_unslash( $_GET['term'] ) ) ); // phpcs:ignore
if ( empty( $term ) ) {
die();
}
$posts = wp_cache_get( 'wcf_search_coupons', 'wcf_funnel_Cart' );
if ( false === $posts ) {
$posts = $wpdb->get_results( // phpcs:ignore
$wpdb->prepare(
"SELECT *
FROM {$wpdb->prefix}posts
WHERE post_type = %s
AND post_title LIKE %s
AND post_status = %s",
'shop_coupon',
$wpdb->esc_like( $term ) . '%',
'publish'
)
);
wp_cache_set( 'wcf_search_coupons', $posts, 'wcf_funnel_Cart' );
}
$coupons_found = array();
$all_discount_types = wc_get_coupon_types();
if ( $posts ) {
foreach ( $posts as $post ) {
$discount_type = get_post_meta( $post->ID, 'discount_type', true );
if ( ! empty( $all_discount_types[ $discount_type ] ) ) {
$coupons_found[ get_the_title( $post->ID ) ] = get_the_title( $post->ID ) . ' (Type: ' . $all_discount_types[ $discount_type ] . ')';
}
}
}
wp_send_json( $coupons_found );
}
/**
* [add_checkout_custom_field description]
*
* @hook wcf_add_checkout_custom_field
*/
public function add_checkout_custom_field() {
check_ajax_referer( 'wcf-add-checkout-custom-field', 'security' );
$post_id = intval( $_POST['post_id'] );
$add_to = sanitize_text_field( wp_unslash( $_POST['add_to'] ) );
$type = sanitize_text_field( wp_unslash( $_POST['type'] ) );
$options = sanitize_text_field( wp_unslash( $_POST['options'] ) );
$label = sanitize_text_field( wp_unslash( $_POST['label'] ) );
$name = sanitize_text_field( wp_unslash( $_POST['name'] ) );
if ( '' !== $name ) {
$fields = Cartflows_Helper::get_checkout_fields( $add_to, $post_id );
$field_keys = array_keys($fields);
$name = $add_to . '_' . sanitize_key( $name );
if( in_array($name, $field_keys) ) {
$name = $name . '_' . rand( 0000, 9999 );
}
$field_data = array(
'type' => $type,
'label' => $label,
'placeholder' => '',
'class' => array( 'form-row-wide' ),
'label_class' => array(),
'required' => true,
'custom' => true,
);
if ( 'select' === $type ) {
$options = explode( ',', $options );
$field_data['options'] = array();
if ( is_array( $options ) && ! empty( $options ) ) {
foreach ( $options as $key => $value ) {
$field_data['options'][ $value ] = $value;
}
}
}
Cartflows_Helper::add_checkout_field( $add_to, $name, $field_data, $post_id );
$key = sanitize_key( $name );
$name = 'wcf-' . $key;
$field_args = array(
'label' => $label,
'name' => $name,
'value' => 'yes',
'after' => 'Enable',
);
$field_args['after_html'] = ' | ';
$field_args['after_html'] .= '' . __( 'Remove', 'cartflows' ) . '';
$field_args['after_html'] .= '';
$field_markup = wcf()->meta->get_checkbox_field( $field_args );
if( 'billing' === $add_to ) {
$add_to_class = 'wcf-cb-fields';
} else if( 'shipping' === $add_to ) {
$add_to_class = 'wcf-sb-fields';
}
$data = array(
'field_data' => $field_data,
'field_args' => $field_args,
'add_to_class' => $add_to_class,
'markup' => $field_markup,
);
wp_send_json( $data );
}
wp_send_json( false );
}
/**
* [add_checkout_custom_field description]
*
* @hook wcf_add_checkout_custom_field
*/
public function add_pro_checkout_custom_field() {
check_ajax_referer( 'wcf-pro-add-checkout-custom-field', 'security' );
$post_id = intval( $_POST['post_id'] );
$add_to = sanitize_text_field( wp_unslash( $_POST['add_to'] ) );
$type = sanitize_text_field( wp_unslash( $_POST['type'] ) );
$options = sanitize_text_field( wp_unslash( $_POST['options'] ) );
$label = sanitize_text_field( wp_unslash( $_POST['label'] ) );
$name = sanitize_text_field( wp_unslash( str_replace(' ', '_', $_POST['label'] ) ) );
$placeholder = sanitize_text_field( wp_unslash( $_POST['placeholder'] ) );
$width = sanitize_text_field( wp_unslash( $_POST['width'] ) );
$default_value = sanitize_text_field( wp_unslash( $_POST['default'] ) );
$is_required = sanitize_text_field( wp_unslash( $_POST['required'] ) );
$field_markup = '';
if ( '' !== $name ) {
$fields = Cartflows_Helper::get_checkout_fields( $add_to, $post_id );
$field_keys = array_keys($fields);
$name = $add_to . '_' . sanitize_key( $name );
if( in_array($name, $field_keys) ) {
$name = $name . '_' . rand( 0000, 9999 );
}
$field_data = array(
'type' => $type,
'label' => $label,
'placeholder' => $placeholder,
'class' => array( 'form-row-wide' ),
'label_class' => array(),
'required' => $is_required,
'custom' => true,
'default' => $default_value,
'options' => $options,
);
if ( 'select' === $type ) {
$options = explode( ',', $options );
$field_data['options'] = array();
if ( is_array( $options ) && ! empty( $options ) ) {
foreach ( $options as $key => $value ) {
$field_data['options'][ $value ] = $value;
}
}
}
$width_args = array(
'wcf-field-width_'.$name => $width,
);
Cartflows_Helper::add_checkout_field( $add_to, $name, $field_data, $post_id );
Cartflows_Helper::save_meta_option( $post_id, $width_args );
$key = sanitize_key( $name );
$name = 'wcf-' . $key;
$field_args = array(
'type' => $type,
'label' => $label,
'name' => $name,
'value' => 'yes',
'placeholder' => $placeholder,
'width' => $width,
'after' => 'Enable',
'section' => $add_to,
'default' => $default_value,
'required' => $is_required,
'options' => $options,
);
$field_args['after_html'] = ' ';
$field_args['after_html'] .= ''. __( 'Remove', 'cartflows' ).'';
$field_args['after_html'] .= '';
// $field_markup = wcf()->meta->get_checkbox_field( $field_args );
$field_markup .= "
";
$field_markup .= $this->get_field_html_via_ajax($field_args);
$field_markup .= "";
if( 'billing' === $add_to ) {
$add_to_class = 'billing-field-sortable';
$section = 'billing';
} else if( 'shipping' === $add_to ) {
$add_to_class = 'shipping-field-sortable';
$section = 'shipping';
}
$data = array(
'field_data' => $field_data,
'field_args' => $field_args,
'add_to_class' => $add_to_class,
'markup' => $field_markup,
'section' => $section,
);
wp_send_json( $data );
}
wp_send_json( false );
}
/**
* Get field html.
*
* @param array $args field arguments.
* @return string
*/
function get_field_html_via_ajax( $field_args ) {
$value = $field_args['value'];
$is_checkbox = false;
$is_require = false;
$is_select = false;
$display = 'none';
$field_content = '';
if ( isset( $field_args['before'] ) ) {
$field_content .= '' . $field_args['before'] . '';
}
$field_content .= '';
$field_content .= '';
if ( isset( $field_args['after'] ) ) {
$field_content .= $field_args['after'];
}
$type = isset( $field_args['type'] ) ? $field_args['type'] : '';
$label = isset( $field_args['label'] ) ? $field_args['label'] : '';
$help = isset( $field_args['help'] ) ? $field_args['help'] : '';
$after_html = isset( $field_args['after_html'] ) ? $field_args['after_html'] : '';
$name = isset( $field_args['name'] ) ? $field_args['name'] : '';
$default = isset( $field_args['default']) ? $field_args['default'] : '';
$required = isset( $field_args['required']) ? $field_args['required'] : '';
$options = isset( $field_args['options']) ? $field_args['options'] : '';
$width = isset( $field_args['width']) ? $field_args['width'] : '';
$name_class = 'field-' . $field_args['name'];
if( isset( $options ) && !empty( $options ) ){
$options = implode(', ', $options );
}else{
$options = '';
}
if( 'yes' == $required ){
$is_require = true;
}
if( 'checkbox' == $type ){
$is_checkbox = true;
}
if( 'select' == $type ){
$is_select = true;
$display = 'block';
}
// echo "";
// var_dump($after_html);
// echo "
";
// $field_markup = wcf()->meta->get_only_checkbox_field( $field_args );
ob_start();
?>
meta->get_select_field(
array(
'label' => __( 'Field Width', 'cartflows' ),
'name' => 'wcf-field-width_' . str_replace( 'wcf-', '', $field_args['name'] ),
'value' => $width,
'options' => array(
'33' => __( '33%', 'cartflows' ),
'50' => __( '50%', 'cartflows' ),
'100' => __( '100%', 'cartflows' ),
),
)
);
?>
meta->get_text_field(
array(
'label' => __( 'Field Label', 'cartflows' ),
'name' => 'wcf_label_text_field_' . $field_args['section'] . '[' . str_replace( 'wcf-', '', $field_args['name'] ) . ']',
'value' => $label,
)
);
?>
meta->get_text_field(
array(
'label' => __( 'Options', 'cartflows' ),
'name' => 'wcf_select_option_field_' . $field_args['section'] . '[' . str_replace( 'wcf-', '', $field_args['name'] ) . ']',
'value' => $options,
)
);
?>
meta->get_select_field(
array(
'label' => __( 'Default', 'cartflows' ),
'name' => 'wcf_label_default_field_' . $field_args['section'] . '[' . str_replace( 'wcf-', '', $field_args['name'] ) . ']',
'value' => $value,
'options' => array(
'1' => __( 'Checked', 'cartflows' ),
'0' => __( 'Un-Checked', 'cartflows' ),
),
)
);
}else{
echo wcf()->meta->get_text_field(
array(
'label' => __( 'Default', 'cartflows' ),
'name' => 'wcf_label_default_field_' . $field_args['section'] . '[' . str_replace( 'wcf-', '', $field_args['name'] ) . ']',
'value' => $default,
)
);
}
?>
style="display: none;" >
meta->get_text_field(
array(
'label' => __( 'Placeholder', 'cartflows' ),
'name' => 'wcf_label_placeholder_field_' . $field_args['section'] . '[' . str_replace( 'wcf-', '', $field_args['name'] ) . ']',
'value' => $label,
)
);
?>
meta->get_checkbox_field(
array(
'label' => __( 'Required', 'cartflows' ),
'name' => 'wcf_is_required_field_' . $field_args['section'] . '[' . str_replace( 'wcf-', '', $field_args['name'] ) . ']',
'value' => $required,
)
);
?>
meta->get_checkbox_field(
array(
'label' => __( 'Enable this field', 'cartflows' ),
'name' => $field_args['name'],
'value' => $value,
)
);
?>
$search_string,
'post_type' => 'page',
'posts_per_page' => - 1,
)
);
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
$title = get_the_title();
$title .= ( 0 != $query->post->post_parent ) ? ' (' . get_the_title( $query->post->post_parent ) . ')' : '';
$id = get_the_id();
$data[] = array(
'id' => $id,
'text' => $title,
);
}
}
if ( is_array( $data ) && ! empty( $data ) ) {
$result[] = array(
'text' => '',
'children' => $data,
);
}
wp_reset_postdata();
// return the result in json.
wp_send_json( $result );
}
public function search_only_titles( $search, $wp_query ) {
if ( ! empty( $search ) && ! empty( $wp_query->query_vars['search_terms'] ) ) {
global $wpdb;
$q = $wp_query->query_vars;
$n = ! empty( $q['exact'] ) ? '' : '%';
$search = array();
foreach ( (array) $q['search_terms'] as $term ) {
$search[] = $wpdb->prepare( "$wpdb->posts.post_title LIKE %s", $n . $wpdb->esc_like( $term ) . $n );
}
if ( ! is_user_logged_in() ) {
$search[] = "$wpdb->posts.post_password = ''";
}
$search = ' AND ' . implode( ' AND ', $search );
}
return $search;
}
function get_field( $field_data, $field_content ) {
$label = isset( $field_data['label'] ) ? $field_data['label'] : '';
$help = isset( $field_data['help'] ) ? $field_data['help'] : '';
$after_html = isset( $field_data['after_html'] ) ? $field_data['after_html'] : '';
$name_class = 'field-' . $field_data['name'];
$field_html = '';
if( ! empty( $label ) || ! empty( $help ) ) {
$field_html .= '
';
if( ! empty( $label ) ) {
$field_html .= '';
}
if ( ! empty( $help ) ) {
$field_html .= '';
// $field_html .= '';
$field_html .= '';
$field_html .= '';
$field_html .= $help;
$field_html .= '';
}
$field_html .= '
';
}
$field_html .= '
';
$field_html .= $field_content;
if ( ! empty( $after_html ) ) {
$field_html .= $after_html;
}
$field_html .= '
';
$field_html .= '
';
return $field_html;
}
function get_text_field( $field_data ) {
$value = $field_data['value'];
$attr = '';
if ( isset( $field_data['attr'] ) && is_array( $field_data['attr'] ) ) {
foreach ( $field_data['attr'] as $attr_key => $attr_value ) {
$attr .= ' ' . $attr_key . '="' . $attr_value . '"';
}
}
$field_content = '';
return $this->get_field( $field_data, $field_content );
}
function get_shortcode_field( $field_data ) {
$attr = '';
$attr_fields = array(
'readonly' => 'readonly',
'onfocus' => 'this.select()',
'onmouseup' => 'return false',
);
if ( $attr_fields && is_array( $attr_fields ) ) {
foreach ( $attr_fields as $attr_key => $attr_value ) {
$attr .= ' ' . $attr_key . '="' . $attr_value . '"';
}
}
$field_content = '';
return $this->get_field( $field_data, $field_content );
}
function get_display_field( $field_data ) {
$field_content = $field_data['content'];
return $this->get_field( $field_data, $field_content );
}
function get_hr_line_field( $field_data ) {
$field_data = array(
'name' => 'wcf-hr-line',
'content' => '
'
);
$field_content = $field_data['content'];
return $this->get_field( $field_data, $field_content );
}
function get_number_field( $field_data ) {
$value = $field_data['value'];
$attr = '';
if ( isset( $field_data['attr'] ) && is_array( $field_data['attr'] ) ) {
foreach ( $field_data['attr'] as $attr_key => $attr_value ) {
$attr .= ' ' . $attr_key . '="' . $attr_value . '"';
}
}
$field_content = '';
return $this->get_field( $field_data, $field_content );
}
function get_hidden_field( $field_data ) {
$value = $field_data['value'];
$attr = '';
if ( isset( $field_data['attr'] ) && is_array( $field_data['attr'] ) ) {
foreach ( $field_data['attr'] as $attr_key => $attr_value ) {
$attr .= ' ' . $attr_key . '="' . $attr_value . '"';
}
}
$field_content = '';
return $this->get_field( $field_data, $field_content );
}
function get_area_field( $field_data ) {
$value = $field_data['value'];
$field_content = '';
return $this->get_field( $field_data, $field_content );
}
function get_only_checkbox_field( $field_data ) {
// echo "";
// var_dump($field_data);
// echo "
";
$value = $field_data['value'];
$field_content = '';
if ( isset( $field_data['before'] ) ) {
$field_content .= '' . $field_data['before'] . '';
}
$field_content .= '';
$field_content .= '';
if ( isset( $field_data['after'] ) ) {
$field_content .= '' . $field_data['after'] . '';
}
if ( isset( $field_data['after_html'] ) ) {
$field_content .= '' . $field_data['after_html'] . '';
}
return $field_content;
}
function get_checkbox_field( $field_data ) {
$value = $field_data['value'];
$field_content = '';
if ( isset( $field_data['before'] ) ) {
$field_content .= '' . $field_data['before'] . '';
}
$field_content .= '';
$field_content .= '';
if ( isset( $field_data['after'] ) ) {
$field_content .= '' . $field_data['after'] . '';
}
return $this->get_field( $field_data, $field_content );
}
function get_radio_field( $field_data ) {
$value = $field_data['value'];
$field_content = '';
if ( is_array( $field_data['options'] ) && ! empty( $field_data['options'] ) ) {
foreach ( $field_data['options'] as $data_key => $data_value ) {
$field_content .= '';
$field_content .= '';
$field_content .= $data_value;
$field_content .= '
';
}
}
return $this->get_field( $field_data, $field_content );
}
function get_font_family_field( $field_data ) {
$value = $field_data['value'];
$pro_options = isset( $field_data['pro-options'] ) ? $field_data['pro-options'] : array();
$field_content = '';
return $this->get_field( $field_data, $field_content );
}
function get_font_weight_field( $field_data ) {
$value = $field_data['value'];
$pro_options = isset( $field_data['pro-options'] ) ? $field_data['pro-options'] : array();
$field_content = '';
return $this->get_field( $field_data, $field_content );
}
function get_select_field( $field_data ) {
$value = $field_data['value'];
$pro_options = isset( $field_data['pro-options'] ) ? $field_data['pro-options'] : array();
$field_content = '';
if ( isset( $field_data['after'] ) ) {
$field_content .= '' . $field_data['after'] . '';
}
return $this->get_field( $field_data, $field_content );
}
function get_color_picker_field( $field_data ) {
$value = $field_data['value'];
$field_content = '';
return $this->get_field( $field_data, $field_content );
}
function get_product_selection_field( $field_data ) {
$value = $field_data['value'];
$multiple = '';
if ( isset( $field_data['multiple'] ) && $field_data['multiple'] ) {
$multiple = ' multiple="multiple"';
}
$allow_clear = '';
if ( isset( $field_data['allow_clear'] ) && $field_data['allow_clear'] ) {
$allow_clear = ' data-allow_clear="allow_clear"';
}
$field_content = '';
return $this->get_field( $field_data, $field_content );
}
function get_coupon_selection_field( $field_data ) {
$value = $field_data['value'];
$multiple = '';
if ( isset( $field_data['multiple'] ) && $field_data['multiple'] ) {
$multiple = ' multiple="multiple"';
}
$allow_clear = '';
if ( isset( $field_data['allow_clear'] ) && $field_data['allow_clear'] ) {
$allow_clear = ' data-allow_clear="allow_clear"';
}
$field_content = '';
return $this->get_field( $field_data, $field_content );
}
function get_page_selection_field( $field_data ) {
$value = $field_data['value'];
$multiple = '';
if ( isset( $field_data['multiple'] ) && $field_data['multiple'] ) {
$multiple = 'multiple="multiple"';
}
$field_content = '';
return $this->get_field( $field_data, $field_content );
}
function get_section( $field_data ) {
$field_html = '';
$field_html .= '
';
$field_html .= '';
if ( isset( $field_data['help'] ) ) {
$field_html .= '';
}
$field_html .= '
';
$field_html .= '
';
return $field_html;
}
function get_description_field( $field_data ) {
$field_html = '';
$field_html .= '
';
$field_html .= $field_data['content'];
$field_html .= '
';
$field_html .= '
';
return $field_html;
}
function get_checkout_field_repeater( $field_data ) {
$value = array();
$value[0] = array(
'add_to' => '',
'type' => '',
'label' => '',
'name' => '',
);
$field_content = '';
$field_content .= '';
// $field_content .= '
';
// $field_content .= '';
// $field_content .= '
';
$field_content .= '
';
$field_content .= '
';
foreach ( $value as $p_key => $p_data ) {
$field_content .= '
';
$field_content .= '';
$field_content .= '
';
/* Add To */
$field_content .= '
';
$field_content .= 'Add to';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '
';
/* Type */
$field_content .= '
';
$field_content .= 'Type';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '
';
/* Textarea */
$field_content .= '
';
$field_content .= 'Options *';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '
';
/* Label */
$field_content .= '
';
$field_content .= 'Label *';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '
';
/* Name */
$field_content .= '
';
$field_content .= 'Name *';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '
';
$field_content .= '
';
$field_content .= '
';
}
/* Add New Custom Field */
$field_content .= '
';
$field_content .= '
';
$field_content .= '';
$field_content .= '
';
$field_content .= '
';
/* End Add new custom field */
$field_content .= '
';
$field_content .= '
';
$field_content .= '
';
return $field_content;
}
function get_pro_checkout_field_repeater( $field_data ) {
$value = array();
$value[0] = array(
'add_to' => '',
'type' => '',
'label' => '',
'name' => '',
);
$field_content = '';
$field_content .= '';
// $field_content .= '
';
// $field_content .= '';
// $field_content .= '
';
$field_content .= '
';
$field_content .= '
';
foreach ( $value as $p_key => $p_data ) {
$field_content .= '
';
$field_content .= '';
$field_content .= '
';
/* Add To */
$field_content .= '
';
$field_content .= 'Add to';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '
';
/* Type */
$field_content .= '
';
$field_content .= 'Type';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '
';
/* Label */
$field_content .= '
';
$field_content .= 'Label *';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '
';
/* Default */
$field_content .= '
';
$field_content .= 'Default';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '
';
/* Placeholder */
$field_content .= '
';
$field_content .= 'Placeholder';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '
';
/* Options */
$field_content .= '
';
$field_content .= 'Options *';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '
';
/* Width */
$field_content .= '
';
$field_content .= 'Width';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '
';
/* Required */
$field_content .= '
';
$field_content .= 'Required';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '';
$field_content .= '
';
$field_content .= '
';
$field_content .= '
';
}
/* Add New Custom Field */
$field_content .= '
';
$field_content .= '
';
$field_content .= '';
$field_content .= '
';
$field_content .= '
';
/* End Add new custom field */
$field_content .= '
';
$field_content .= '
';
$field_content .= '
';
return $field_content;
}
function get_product_selection_repeater( $field_data ) {
$value = $field_data['value'];
if ( ! is_array( $value ) ) {
$value[0] = array(
'product' => '',
);
} else {
if ( ! isset( $value[0] ) ) {
$value[0] = array(
'product' => '',
);
}
}
$field_html = '';
$field_html .= '';
$field_html .= '';
$field_html .= '
';
$field_html .= '
';
if ( is_array( $value ) ) {
foreach ( $value as $p_key => $p_data ) {
$selected_options = '';
if ( isset( $p_data['product'] ) ) {
$product = wc_get_product( $p_data['product'] );
// posts.
if ( ! empty( $product ) ) {
$post_title = $product->get_name() . ' (#' . $p_data['product'] . ')';
$selected_options = '
';
}
}
$field_html .= $this->generate_product_repeater_html( $p_key, $selected_options );
}
}
$field_html .= '
';
$field_html .= '
';
$field_html .= '';
$field_html .= '
';
$field_html .= '
';
$field_html .= '
';
$field_html .= '
';
$field_html .= '
';
return $field_html;
}
function generate_product_repeater_html( $id, $options = '' ) {
$field_html = '';
$field_html .= '
';
/* Product Name */
$field_html .= '
';
$field_html .= '
';
$field_html .= '
';
return $field_html;
}
function get_image_field( $field_data ) {
$value = $field_data['value'];
$attr = '';
if ( isset( $field_data['attr'] ) && is_array( $field_data['attr'] ) ) {
foreach ( $field_data['attr'] as $attr_key => $attr_value ) {
$attr .= ' ' . $attr_key . '="' . $attr_value . '"';
}
}
$display_preview_box = ( isset( $value ) && '' != $value ) ? 'display:block;' : 'display:none';
$field_content = '';
if( isset( $value ) ){
$field_content .= '

';
}
$field_content .= '
';
// $field_content .= '';
$field_content .= '';
$field_content .= '';
$display_remove_button = ( isset( $value ) && '' != $value ) ? 'display:inline-block; margin-left: 5px;' : 'display:none';
$field_content .= '';
return $this->get_field( $field_data, $field_content );
}
/**
* Localize variables in admin
*
* @param array $vars variables.
*/
function localize_vars( $vars ) {
$ajax_actions = array(
'wcf_add_checkout_custom_field',
'wcf_pro_add_checkout_custom_field',
'wcf_delete_checkout_custom_field',
'wcf_json_search_pages',
'wcf_json_search_coupons'
);
foreach ( $ajax_actions as $action ) {
$vars[ $action . '_nonce' ] = wp_create_nonce( str_replace( '_', '-', $action ) );
}
return $vars;
}
}
// @codingStandardsIgnoreEnd