تابع ووکامرسی woocommerce_form_field نمایش فرم آدرس و تسویه حساب

تابع ووکامرسی woocommerce_form_field – نمایش فرم آدرس و تسویه حساب
Syntax – سینتکس
woocommerce_form_field( (string) $key, (mixed) $args, (null) $value = null );
Parameters – پارامتر ها (3)
- 1- $key (string)
- 2- $args (mixed)
- 3- $value (null)
Usage – نحوه استفاده
if ( !function_exists( 'woocommerce_form_field' ) ) {
require_once ABSPATH . PLUGINDIR . 'woocommerce/includes/wc-template-functions.php';
}
// The key.
$key = '';
// The args.
$args = null;
// (default: null)
$value = null;
// NOTICE! Understand what this does before running.
$result = woocommerce_form_field($key, $args, $value);
Defined – محل تعریف
/includes/wc-template-functions.php
function woocommerce_form_field( $key, $args, $value = null ) {
$defaults = array(
'type' => 'text',
'label' => '',
'description' => '',
'placeholder' => '',
'maxlength' => false,
'required' => false,
'autocomplete' => false,
'id' => $key,
'class' => array(),
'label_class' => array(),
'input_class' => array(),
'return' => false,
'options' => array(),
'custom_attributes' => array(),
'validate' => array(),
'default' => '',
'autofocus' => '',
'priority' => '',
);
$args = wp_parse_args( $args, $defaults );
$args = apply_filters( 'woocommerce_form_field_args', $args, $key, $value );
if ( $args['required'] ) {
$args['class'][] = 'validate-required';
$required = ' *';
} else {
$required = '';
}
if ( is_string( $args['label_class'] ) ) {
$args['label_class'] = array( $args['label_class'] );
}
if ( is_null( $value ) ) {
$value = $args['default'];
}
// Custom attribute handling
$custom_attributes = array();
$args['custom_attributes'] = array_filter( (array) $args['custom_attributes'] );
if ( $args['maxlength'] ) {
$args['custom_attributes']['maxlength'] = absint( $args['maxlength'] );
}
if ( ! empty( $args['autocomplete'] ) ) {
$args['custom_attributes']['autocomplete'] = $args['autocomplete'];
}
if ( true === $args['autofocus'] ) {
$args['custom_attributes']['autofocus'] = 'autofocus';
}
if ( ! empty( $args['custom_attributes'] ) && is_array( $args['custom_attributes'] ) ) {
foreach ( $args['custom_attributes'] as $attribute => $attribute_value ) {
$custom_attributes[] = esc_attr( $attribute ) . '="' . esc_attr( $attribute_value ) . '"';
}
}
if ( ! empty( $args['validate'] ) ) {
foreach ( $args['validate'] as $validate ) {
$args['class'][] = 'validate-' . $validate;
}
}
$field = '';
$label_id = $args['id'];
$sort = $args['priority'] ? $args['priority'] : '';
$field_container = '%3$s
';
switch ( $args['type'] ) {
case 'country' :
$countries = 'shipping_country' === $key ? WC()->countries->get_shipping_countries() : WC()->countries->get_allowed_countries();
if ( 1 === sizeof( $countries ) ) {
$field .= '' . current( array_values( $countries ) ) . '';
$field .= '';
} else {
$field = '';
$field .= '';
}
break;
case 'state' :
/** Get Country */
$country_key = 'billing_state' === $key ? 'billing_country' : 'shipping_country';
$current_cc = WC()->checkout->get_value( $country_key );
$states = WC()->countries->get_states( $current_cc );
if ( is_array( $states ) && empty( $states ) ) {
$field_container = '';
$field .= '';
} elseif ( ! is_null( $current_cc ) && is_array( $states ) ) {
$field .= '';
} else {
$field .= '';
}
break;
case 'textarea' :
$field .= '';
break;
case 'checkbox' :
$field = '';
break;
case 'password' :
case 'text' :
case 'email' :
case 'tel' :
case 'number' :
$field .= '';
break;
case 'select' :
$options = $field = '';
if ( ! empty( $args['options'] ) ) {
foreach ( $args['options'] as $option_key => $option_text ) {
if ( '' === $option_key ) {
// If we have a blank option, select2 needs a placeholder
if ( empty( $args['placeholder'] ) ) {
$args['placeholder'] = $option_text ? $option_text : __( 'Choose an option', woocommerce );
}
$custom_attributes[] = 'data-allow_clear="true"';
}
$options .= '';
}
$field .= '';
}
break;
case 'radio' :
$label_id = current( array_keys( $args['options'] ) );
if ( ! empty( $args['options'] ) ) {
foreach ( $args['options'] as $option_key => $option_text ) {
$field .= '';
$field .= '';
}
}
break;
}
if ( ! empty( $field ) ) {
$field_html = '';
if ( $args['label'] && 'checkbox' != $args['type'] ) {
$field_html .= '';
}
$field_html .= $field;
if ( $args['description'] ) {
$field_html .= '' . esc_html( $args['description'] ) . '';
}
$container_class = esc_attr( implode( ' ', $args['class'] ) );
$container_id = esc_attr( $args['id'] ) . '_field';
$field = sprintf( $field_container, $container_class, $container_id, $field_html );
}
$field = apply_filters( 'woocommerce_form_field_' . $args['type'], $field, $key, $args, $value );
if ( $args['return'] ) {
return $field;
} else {
echo $field;
}
}
versions – نسخه ها
از نسخه : 3.0.2
نسخه فعلی : 3.0.6
دیگر نسخه ها : 3.0.6 , 3.0.5 , 3.0.4 , 3.0.3 , 3.0.2
ارسال نظر