php - woocommerce - 帐单字段随不同国家/地区而变化

标签 php wordpress wordpress-theming woocommerce

我正在与 woocommerce 合作建立一个网上商店。我已经自定义了帐单地址字段的顺序。问题是,一些国家仍然显示不同的顺序。如何强制所有国家/地区执行自定义订单?

编辑:

<?php
/*
 * Modifing the order of form fields.
 * More information here: http://www.trottyzone.com/change-order-of-woocommerce-fields-on-checkout-page/
 */
add_filter('woocommerce_checkout_fields','reorder_woo_fields');

function reorder_woo_fields($fields) {
    //move these around in the order you'd like
    $fields2['billing']['billing_first_name'] = $fields['billing']['billing_first_name'];
    $fields2['billing']['billing_last_name'] = $fields['billing']['billing_last_name'];
    $fields2['billing']['billing_email'] = $fields['billing']['billing_email'];
    $fields2['billing']['billing_company'] = $fields['billing']['billing_company'];
    $fields2['billing']['billing_address_1'] = $fields['billing']['billing_address_1'];
    $fields2['billing']['billing_postcode'] = $fields['billing']['billing_postcode'];
    $fields2['billing']['billing_city'] = $fields['billing']['billing_city'];
    $fields2['billing']['billing_country'] = $fields['billing']['billing_country'];
    $fields2['billing']['billing_state'] = $fields['billing']['billing_state'];
    $fields2['billing']['billing_phone'] = $fields['billing']['billing_phone'];

    $fields2['shipping']['shipping_first_name'] = $fields['shipping']['shipping_first_name'];
    $fields2['shipping']['shipping_last_name'] = $fields['shipping']['shipping_last_name'];
    $fields2['shipping']['shipping_email'] = $fields['shipping']['shipping_email'];
    $fields2['shipping']['shipping_company'] = $fields['shipping']['shipping_company'];
    $fields2['shipping']['shipping_address_1'] = $fields['shipping']['shipping_address_1'];
    $fields2['shipping']['shipping_postcode'] = $fields['shipping']['shipping_postcode'];
    $fields2['shipping']['shipping_city'] = $fields['shipping']['shipping_city'];
    $fields2['shipping']['shipping_country'] = $fields['shipping']['shipping_country'];
    $fields2['shipping']['shipping_state'] = $fields['shipping']['shipping_state'];
    $fields2['shipping']['shipping_phone'] = $fields['shipping']['shipping_phone'];

    //just copying these keeps the standard order
    $fields2['account'] = $fields['account'];
    $fields2['order'] = $fields['order'];

    return $fields2;
}

?>

最佳答案

检查 woocommerce class-wc-countries.php 文件,它设置了区域设置。我认为您的问题可以通过以下代码解决

add_filter( 'woocommerce_get_country_locale', 'use_only_default_locale' ); 函数 use_only_default_locale( $locale ) { 返回数组(); }

编辑:

试试这个代码

add_filter( 'woocommerce_default_address_fields', 'my_default_address_fields' );
function my_default_address_fields( $fields ) {
  //move these around in the order you'd like
  $fields2['first_name'] = $fields['first_name'];
  $fields2['last_name'] = $fields['last_name'];
  $fields2['email'] = $fields['email'];
  $fields2['company'] = $fields['company'];
  $fields2['address_1'] = $fields['address_1'];
  $fields2['postcode'] = $fields['postcode'];
  $fields2['city'] = $fields['city'];
  $fields2['city']['label'] = 'City';
  $fields2['city']['placeholder'] = 'City';
  $fields2['country'] = $fields['country'];
  $fields2['state'] = $fields['state'];
  $fields2['phone'] = $fields['phone'];

  return $fields2;
}

注释掉add_filter('woocommerce_checkout_fields','reorder_woo_fields'); 您需要稍微更改字段类才能正确填充。

关于php - woocommerce - 帐单字段随不同国家/地区而变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24691512/

相关文章:

javascript - 我如何在没有表格第一列的情况下打印报告

PHP从数据库中获取号码

php - 从 WooCommerce 订单应用的优惠券中获取优惠券说明

php - 品类深层功能

php - 将变量从一个 WordPress 模板文件获取到另一个 WordPress 模板文件

php - 安装时设备上的同一应用程序显示两个图标

php - xsl文件从linux服务器加载到php中

php - 在 Woocommerce 中获取产品重量单位自定义字段

drupal - 将 WordPress 主题转换为 Drupal 6?

html - Wordpress 中的主题 CSS 选择元素冲突