【问题标题】:Restriction on city dropdown on checkout of woocommercewoocommerce结账时对城市下拉菜单的限制
【发布时间】:2020-04-05 05:02:31
【问题描述】:

使用以下代码进入 Woocommerce 上的城市结帐字段:

function change_city_to_dropdown( $fields ) {
	include('citynames.php');
	
	$city_args = wp_parse_args( 'citydelivery' , array(
		'type' => 'select',
		'options' => array_combine( $cities, $cities),
		'input_class' => array(
			'wc-enhanced-select',
		)
	), $fields['shipping']['shipping_city'] );
	$fields['shipping']['shipping_city'] = $city_args;
	$fields['billing']['billing_city'] = $city_args;
	wc_enqueue_js( "
		jQuery( ':input.wc-enhanced-select' ).filter( ':not(.enhanced)' ).each( function() {
			var select2_args = { minimumResultsForSearch: 5 };
			jQuery( this ).select2( select2_args ).addClass( 'enhanced' );
		});"
	);
	return $fields;
}
add_filter( 'woocommerce_checkout_fields', 'change_city_to_dropdown' );

这可以完美地完成工作,但我无法对其进行限制。例如,默认值为“选择您的城市”,但有时客户没有选择他们的城市并下订单。我尝试了以下代码,但没有成功:

 add_action('woocommerce_checkout_process', 'checkout_field_city_restriction()');
 function checkout_field_city_restriction() {
    global $woocommerce;
    // Check if set, if its not set add an error.
    if ($_POST[$city_args] == "Select your city")
     wc_add_notice( '<strong>Please select your city</strong>', 'error' );
 }

谁能告诉我我做错了什么? 此外,此文件('citynames.php')具有以下代码:

<?php

$cities = array(

'Select your city',
'Tall',
'Tando Jam',
'Topi',
'Pasni',
'Mastung',
'Kalat',
'Kamalia',
'Haroonabad',
'Ranipur',
	);
?>

【问题讨论】:

  • $_POST[$city_args] 中有什么内容?
  • 传入参数的城市
  • 有人愿意帮忙吗?
  • 我再问你一次。$_POST[$city_args] 里有什么?
  • 它是一个 post 方法,用于发布接受城市的参数。我猜解决方案是围绕这段代码。我尝试将其从 $_POST[$city_args] 更改为 $city_args 但没有成功。

标签: php woocommerce field dropdown city


【解决方案1】:

我的问题已经解决了。

这是必须要做的:

 add_action('woocommerce_checkout_process', 'checkout_field_city_restriction()');
 function checkout_field_city_restriction {
 global $woocommerce;
 // Check if set, if its not set add an error.
 if ($_POST[$billing_city] == "Select your city")
 wc_add_notice( '<strong>Please select your city</strong>', 'error' );
 }

【讨论】:

    猜你喜欢
    • 2011-01-22
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 2021-02-06
    相关资源
    最近更新 更多