- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 WooCommerce API 获取国家列表。我正在做:
$woo_countries = new WC_Countries();
$countries = $woo_countries->get_allowed_countries();
但是,如何获得默认选定国家/地区的州列表?此外,当用户更改国家/地区时,Woo 是否内置了一些我可以应用到国家/地区字段以更新状态框的东西,还是我必须自己构建该功能?
此外,我知道我可以通过以下方式获取一个国家/地区的州:
$woo_countries->get_states(country_code);
...但我不确定如何将默认选择的国家/地区传递给它?
我也知道他们有一个组合的国家/州列表,你可以加载,但这真的很乱,而且太长了,不实用。
最佳答案
试试这个,你仍然需要一些javascript来让它工作。我不知道默认情况下是否有任何方法可以让状态下拉列表按照国家下拉列表工作。我认为它很有帮助,请尝试一下,如果有效,请告诉我。
global $woocommerce;
$countries_obj = new WC_Countries();
$countries = $countries_obj->__get('countries');
$default_country = $countries_obj->get_base_country();
$default_county_states = $countries_obj->get_states( $default_country );
所以这会让你的国家下拉
global $woocommerce;
$countries_obj = new WC_Countries();
$countries = $countries_obj->__get('countries');
echo '<div id="my_custom_countries_field"><h2>' . __('Countries') . '</h2>';
woocommerce_form_field('my_country_field', array(
'type' => 'select',
'class' => array( 'chzn-drop' ),
'label' => __('Select a country'),
'placeholder' => __('Enter something'),
'options' => $countries
)
);
echo '</div>';
和州下拉列表
global $woocommerce;
$countries_obj = new WC_Countries();
$countries = $countries_obj->__get('countries');
$default_country = $countries_obj->get_base_country();
$default_county_states = $countries_obj->get_states( $default_country );
echo '<div id="my_custom_state_field"><h2>' . __('States') . '</h2>';
woocommerce_form_field('my_state_field', array(
'type' => 'select',
'class' => array( 'chzn-drop' ),
'label' => __('Select a state'),
'placeholder' => __('Enter something'),
'options' => $default_county_states
)
);
echo '</div>';
您需要一些 javascript 才能使其按您的意愿运行。您可以考虑通过 woocommerce_form_field .
我在我的 functions.php 中添加了以下代码,屏幕截图显示了我得到的内容。需要了解您的结帐页面以使其变得更好。
“我相信这一切都是为了创建与默认结帐页面中相同的 HTML 元素。”
//Reordering woocommerce billing form on checkout page
add_filter( 'woocommerce_checkout_fields','reorder_woo_billing_fields' );
function reorder_woo_billing_fields( $fields ) {
//$fields2['billing']['billing_email'] = $fields['billing']['billing_email'];
$fields2['billing']['billing_first_name'] = $fields['billing']['billing_first_name'];
$fields2['billing']['billing_last_name'] = $fields['billing']['billing_last_name'];
$fields2['billing']['billing_company'] = $fields['billing']['billing_company'];
$fields2['billing']['billing_address_1'] = $fields['billing']['billing_address_1'];
$fields2['billing']['billing_address_2'] = $fields['billing']['billing_address_2'];
$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_postcode'] = $fields['billing']['billing_postcode'];
$fields2['billing']['billing_phone'] = $fields['billing']['billing_phone'];
$fields2['billing']['billing_country']['class'] = array('box', 'form-row form-row-first address-field update_totals_on_change validate-required woocommerce-validated');
$fields2['billing']['billing_state']['class'] = array('box', 'form-row form-row-last address-field validate-required validate-state woocommerce-invalid woocommerce-invalid-required-field');
$fields2['billing']['billing_postcode']['class'] = array('box', 'form-row form-row-first address-field validate-required validate-postcode');
$fields2['billing']['billing_phone']['class'] = array('box', 'form-row form-row-last validate-required validate-phone');
//$fields2['billing']['billing_email']['class'] = array('box', 'form-row form-row-wide validate-required validate-email');
$fields2['billing']['billing_postcode']['clear'] = '';
$fields2['shipping'] = $fields['shipping'];
$fields2['account'] = $fields['account'];
$fields2['order'] = $fields['order'];
return $fields2;
}
add_action( 'woocommerce_checkout_init', 'woocommerce_countries_states', 10, 1 );
function woocommerce_countries_states( $checkout ) {
global $woocommerce;
$countries_obj = new WC_Countries();
$countries = $countries_obj->__get('countries');
$default_country = $countries_obj->get_base_country();
$default_county_states = $countries_obj->get_states( $default_country );
$checkout->checkout_fields['account']['billing_country'] = array(
'type' => 'select',
'label' => __( 'Default Contries', 'woocommerce' ),
'required' => true,
'options' => $countries
);
$checkout->checkout_fields['account']['billing_country'] = array(
'type' => 'select',
'label' => __( 'Default Contries', 'woocommerce' ),
'required' => true,
'options' => $default_county_states
);
}
我得到的 HTML 有点像(对于选择的国家 United States(US)):-
<p class="form-row form-row box form-row form-row-first address-field update_totals_on_change validate-required woocommerce-validated validate-required" id="billing_country_field"><label for="billing_country" class="">Country <abbr class="required" title="required">*</abbr></label><div class="select2-container country_to_state country_select" id="s2id_billing_country" style="width: 100%;"><a href="javascript:void(0)" class="select2-choice" tabindex="-1"> <span class="select2-chosen" id="select2-chosen-1">United States (US)</span><abbr class="select2-search-choice-close"></abbr> <span class="select2-arrow" role="presentation"><b role="presentation"></b></span></a><label for="s2id_autogen1" class="select2-offscreen">Country *</label><input class="select2-focusser select2-offscreen" type="text" aria-haspopup="true" role="button" aria-labelledby="select2-chosen-1" id="s2id_autogen1"></div><select name="billing_country" id="billing_country" class="country_to_state country_select " tabindex="-1" title="Country *" style="display: none;"><option value="">Select a country…</option><option value="AX">Åland Islands</option><option value="AF">Afghanistan</option><option value="AL">Albania</option><option value="DZ">Algeria</option><option value="AD">Andorra</option><option value="AO">Angola</option><option value="AI">Anguilla</option><option value="AQ">Antarctica</option><option value="AG">Antigua and Barbuda</option><option value="AR">Argentina</option><option value="AM">Armenia</option><option value="AW">Aruba</option><option value="AU">Australia</option><option value="AT">Austria</option><option value="AZ">Azerbaijan</option><option value="BS">Bahamas</option><option value="BH">Bahrain</option><option value="BD">Bangladesh</option><option value="BB">Barbados</option><option value="BY">Belarus</option><option value="PW">Belau</option><option value="BE">Belgium</option><option value="BZ">Belize</option><option value="BJ">Benin</option><option value="BM">Bermuda</option><option value="BT">Bhutan</option><option value="BO">Bolivia</option><option value="BQ">Bonaire, Saint Eustatius and Saba</option><option value="BA">Bosnia and Herzegovina</option><option value="BW">Botswana</option><option value="BV">Bouvet Island</option><option value="BR">Brazil</option><option value="IO">British Indian Ocean Territory</option><option value="VG">British Virgin Islands</option><option value="BN">Brunei</option><option value="BG">Bulgaria</option><option value="BF">Burkina Faso</option><option value="BI">Burundi</option><option value="KH">Cambodia</option><option value="CM">Cameroon</option><option value="CA">Canada</option><option value="CV">Cape Verde</option><option value="KY">Cayman Islands</option><option value="CF">Central African Republic</option><option value="TD">Chad</option><option value="CL">Chile</option><option value="CN">China</option><option value="CX">Christmas Island</option><option value="CC">Cocos (Keeling) Islands</option><option value="CO">Colombia</option><option value="KM">Comoros</option><option value="CG">Congo (Brazzaville)</option><option value="CD">Congo (Kinshasa)</option><option value="CK">Cook Islands</option><option value="CR">Costa Rica</option><option value="HR">Croatia</option><option value="CU">Cuba</option><option value="CW">CuraÇao</option><option value="CY">Cyprus</option><option value="CZ">Czech Republic</option><option value="DK">Denmark</option><option value="DJ">Djibouti</option><option value="DM">Dominica</option><option value="DO">Dominican Republic</option><option value="EC">Ecuador</option><option value="EG">Egypt</option><option value="SV">El Salvador</option><option value="GQ">Equatorial Guinea</option><option value="ER">Eritrea</option><option value="EE">Estonia</option><option value="ET">Ethiopia</option><option value="FK">Falkland Islands</option><option value="FO">Faroe Islands</option><option value="FJ">Fiji</option><option value="FI">Finland</option><option value="FR">France</option><option value="GF">French Guiana</option><option value="PF">French Polynesia</option><option value="TF">French Southern Territories</option><option value="GA">Gabon</option><option value="GM">Gambia</option><option value="GE">Georgia</option><option value="DE">Germany</option><option value="GH">Ghana</option><option value="GI">Gibraltar</option><option value="GR">Greece</option><option value="GL">Greenland</option><option value="GD">Grenada</option><option value="GP">Guadeloupe</option><option value="GT">Guatemala</option><option value="GG">Guernsey</option><option value="GN">Guinea</option><option value="GW">Guinea-Bissau</option><option value="GY">Guyana</option><option value="HT">Haiti</option><option value="HM">Heard Island and McDonald Islands</option><option value="HN">Honduras</option><option value="HK">Hong Kong</option><option value="HU">Hungary</option><option value="IS">Iceland</option><option value="IN">India</option><option value="ID">Indonesia</option><option value="IR">Iran</option><option value="IQ">Iraq</option><option value="IM">Isle of Man</option><option value="IL">Israel</option><option value="IT">Italy</option><option value="CI">Ivory Coast</option><option value="JM">Jamaica</option><option value="JP">Japan</option><option value="JE">Jersey</option><option value="JO">Jordan</option><option value="KZ">Kazakhstan</option><option value="KE">Kenya</option><option value="KI">Kiribati</option><option value="KW">Kuwait</option><option value="KG">Kyrgyzstan</option><option value="LA">Laos</option><option value="LV">Latvia</option><option value="LB">Lebanon</option><option value="LS">Lesotho</option><option value="LR">Liberia</option><option value="LY">Libya</option><option value="LI">Liechtenstein</option><option value="LT">Lithuania</option><option value="LU">Luxembourg</option><option value="MO">Macao S.A.R., China</option><option value="MK">Macedonia</option><option value="MG">Madagascar</option><option value="MW">Malawi</option><option value="MY">Malaysia</option><option value="MV">Maldives</option><option value="ML">Mali</option><option value="MT">Malta</option><option value="MH">Marshall Islands</option><option value="MQ">Martinique</option><option value="MR">Mauritania</option><option value="MU">Mauritius</option><option value="YT">Mayotte</option><option value="MX">Mexico</option><option value="FM">Micronesia</option><option value="MD">Moldova</option><option value="MC">Monaco</option><option value="MN">Mongolia</option><option value="ME">Montenegro</option><option value="MS">Montserrat</option><option value="MA">Morocco</option><option value="MZ">Mozambique</option><option value="MM">Myanmar</option><option value="NA">Namibia</option><option value="NR">Nauru</option><option value="NP">Nepal</option><option value="NL">Netherlands</option><option value="AN">Netherlands Antilles</option><option value="NC">New Caledonia</option><option value="NZ">New Zealand</option><option value="NI">Nicaragua</option><option value="NE">Niger</option><option value="NG">Nigeria</option><option value="NU">Niue</option><option value="NF">Norfolk Island</option><option value="KP">North Korea</option><option value="NO">Norway</option><option value="OM">Oman</option><option value="PK">Pakistan</option><option value="PS">Palestinian Territory</option><option value="PA">Panama</option><option value="PG">Papua New Guinea</option><option value="PY">Paraguay</option><option value="PE">Peru</option><option value="PH">Philippines</option><option value="PN">Pitcairn</option><option value="PL">Poland</option><option value="PT">Portugal</option><option value="QA">Qatar</option><option value="IE">Republic of Ireland</option><option value="RE">Reunion</option><option value="RO">Romania</option><option value="RU">Russia</option><option value="RW">Rwanda</option><option value="ST">São Tomé and Príncipe</option><option value="BL">Saint Barthélemy</option><option value="SH">Saint Helena</option><option value="KN">Saint Kitts and Nevis</option><option value="LC">Saint Lucia</option><option value="SX">Saint Martin (Dutch part)</option><option value="MF">Saint Martin (French part)</option><option value="PM">Saint Pierre and Miquelon</option><option value="VC">Saint Vincent and the Grenadines</option><option value="SM">San Marino</option><option value="SA">Saudi Arabia</option><option value="SN">Senegal</option><option value="RS">Serbia</option><option value="SC">Seychelles</option><option value="SL">Sierra Leone</option><option value="SG">Singapore</option><option value="SK">Slovakia</option><option value="SI">Slovenia</option><option value="SB">Solomon Islands</option><option value="SO">Somalia</option><option value="ZA" selected="selected">South Africa</option><option value="GS">South Georgia/Sandwich Islands</option><option value="KR">South Korea</option><option value="SS">South Sudan</option><option value="ES">Spain</option><option value="LK">Sri Lanka</option><option value="SD">Sudan</option><option value="SR">Suriname</option><option value="SJ">Svalbard and Jan Mayen</option><option value="SZ">Swaziland</option><option value="SE">Sweden</option><option value="CH">Switzerland</option><option value="SY">Syria</option><option value="TW">Taiwan</option><option value="TJ">Tajikistan</option><option value="TZ">Tanzania</option><option value="TH">Thailand</option><option value="TL">Timor-Leste</option><option value="TG">Togo</option><option value="TK">Tokelau</option><option value="TO">Tonga</option><option value="TT">Trinidad and Tobago</option><option value="TN">Tunisia</option><option value="TR">Turkey</option><option value="TM">Turkmenistan</option><option value="TC">Turks and Caicos Islands</option><option value="TV">Tuvalu</option><option value="UG">Uganda</option><option value="UA">Ukraine</option><option value="AE">United Arab Emirates</option><option value="GB">United Kingdom (UK)</option><option value="US">United States (US)</option><option value="UY">Uruguay</option><option value="UZ">Uzbekistan</option><option value="VU">Vanuatu</option><option value="VA">Vatican</option><option value="VE">Venezuela</option><option value="VN">Vietnam</option><option value="WF">Wallis and Futuna</option><option value="EH">Western Sahara</option><option value="WS">Western Samoa</option><option value="YE">Yemen</option><option value="ZM">Zambia</option><option value="ZW">Zimbabwe</option></select><noscript><input type="submit" name="woocommerce_checkout_update_totals" value="Update country" /></noscript></p>
<p class="form-row form-row box form-row form-row-last address-field validate-state woocommerce-invalid woocommerce-invalid-required-field validate-state validate-required" id="billing_state_field" data-o_class="form-row form-row box form-row form-row-last address-field validate-required validate-state woocommerce-invalid woocommerce-invalid-required-field validate-required validate-state" style="display: block;"><label for="billing_state" class="">State <abbr class="required" title="required">*</abbr></label><div class="select2-container state_select" id="s2id_billing_state" style="width: 100%;"><a href="javascript:void(0)" class="select2-choice select2-default" tabindex="-1"> <span class="select2-chosen" id="select2-chosen-491">Select an option…</span><abbr class="select2-search-choice-close"></abbr> <span class="select2-arrow" role="presentation"><b role="presentation"></b></span></a><label for="s2id_autogen491" class="select2-offscreen">State <abbr class="required" title="required">*</abbr></label><input class="select2-focusser select2-offscreen" type="text" aria-haspopup="true" role="button" aria-labelledby="select2-chosen-491" id="s2id_autogen491"></div><select name="billing_state" id="billing_state" class="state_select" placeholder="" tabindex="-1" title="Province " style="display: none;"><option value="">Select an option…</option><option value="AL">Alabama</option><option value="AK">Alaska</option><option value="AZ">Arizona</option><option value="AR">Arkansas</option><option value="CA">California</option><option value="CO">Colorado</option><option value="CT">Connecticut</option><option value="DE">Delaware</option><option value="DC">District Of Columbia</option><option value="FL">Florida</option><option value="GA">Georgia</option><option value="HI">Hawaii</option><option value="ID">Idaho</option><option value="IL">Illinois</option><option value="IN">Indiana</option><option value="IA">Iowa</option><option value="KS">Kansas</option><option value="KY">Kentucky</option><option value="LA">Louisiana</option><option value="ME">Maine</option><option value="MD">Maryland</option><option value="MA">Massachusetts</option><option value="MI">Michigan</option><option value="MN">Minnesota</option><option value="MS">Mississippi</option><option value="MO">Missouri</option><option value="MT">Montana</option><option value="NE">Nebraska</option><option value="NV">Nevada</option><option value="NH">New Hampshire</option><option value="NJ">New Jersey</option><option value="NM">New Mexico</option><option value="NY">New York</option><option value="NC">North Carolina</option><option value="ND">North Dakota</option><option value="OH">Ohio</option><option value="OK">Oklahoma</option><option value="OR">Oregon</option><option value="PA">Pennsylvania</option><option value="RI">Rhode Island</option><option value="SC">South Carolina</option><option value="SD">South Dakota</option><option value="TN">Tennessee</option><option value="TX">Texas</option><option value="UT">Utah</option><option value="VT">Vermont</option><option value="VA">Virginia</option><option value="WA">Washington</option><option value="WV">West Virginia</option><option value="WI">Wisconsin</option><option value="WY">Wyoming</option><option value="AA">Armed Forces (AA)</option><option value="AE">Armed Forces (AE)</option><option value="AP">Armed Forces (AP)</option><option value="AS">American Samoa</option><option value="GU">Guam</option><option value="MP">Northern Mariana Islands</option><option value="PR">Puerto Rico</option><option value="UM">US Minor Outlying Islands</option><option value="VI">US Virgin Islands</option></select></p>
*新访客请考虑进行编辑,以了解此答案是如何更改的。
关于php - 使用 WooCommerce API 获取国家/州列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33934028/
[编辑:在 functions.php 中添加代码并省略代码 WC 文件中的更改时,它实际上起作用了。重要提示:它仅在 ONE 属性存在时有效。但是,当有 2 个属性(例如尺寸和颜色)时,它就不起作用
我使用以下方法获取购物车中产品的版本ID。 $cartdetails = $woocommerce->cart->get_cart(); foreach($cartdetails as $ca
我目前使用 $order = new WC_Order($order_id); $order->update_status('completed', 'Order has been delivered
您好,我无法从 woocommerce 订单送货地址获取,我收到错误: fatal error :在 .. 中的非对象上调用成员函数 get_formatted_address() 我正在使用代码:
我不是在谈论向产品添加属性,而是我想添加属性本身.. 您可以从“产品”->“属性”下的 UI 执行此操作,但从代码中它是如何完成的(例如:要调用哪些函数或要更新的表)? 最佳答案 属性只是一个自定义分
是否可以使产品变化来改变价格? 例如,我有一个基本产品及其变体: 数量 -10 -20 -50 颜色 - 蓝色 -红色 项目 -是的 -没有 我有数量的价格,不管是什么颜色。但是,如果您选择“项目-否
有没有办法将其他收件人添加到 woocommerce 发票邮件中。我尝试使用“woocommerce_email_headers” Hook ,但它不起作用: add_filter( 'woocomm
我不是在谈论向产品添加属性,而是我想添加属性本身.. 您可以从“产品”->“属性”下的 UI 执行此操作,但从代码中它是如何完成的(例如:要调用哪些函数或要更新的表)? 最佳答案 属性只是一个自定义分
只是想看看是否有办法为我的送货选项添加工具提示或弹出窗口,以便在客户悬停或点击(通过移动设备)时更详细地向客户解释此选项的含义? 最佳答案 简单的解决方案是通过将以下内容添加到您的 functions
如何获取 woocommerce 中的类别列表?使用这段代码,我得到了 wordpress 类别列表: function gaga_lite_category_lists(){ $catego
我一直试图在 WooCommerce 上禁用产品价格四舍五入,但没有成功。即使我在 WooCommerce > Settings > General > Number of decimals 上将 d
我一直在尝试定制 woocommerce 中的相关产品。我使用 woocommerce_output_related_products_args 添加 meta_query 选项,但它们没有效果,这是
由于 WooCommerce 2.1 页面(例如订单接收)已被删除并替换为 WC 端点。我的结帐页面有一个自定义页面模板 (page-checkout.php),现在所有结帐端点也都在使用这个自定义页
我正在向 WooCommerce 的结帐页面添加额外的字段, 我已经添加了基本的文本字段,但我想要一个带有几个选项的下拉列表或选择框, 这是我到目前为止所做的,但我在某处犯了错误 $fields['b
我试图在我的 invoice.php 中拼出 WooCommerce 订单总额模板文件可以达到订单总金额。 首先我试过: $total = $order->get_total(); - format
我需要在购物车页面和结帐页面中显示的价格(小计、总计...)后添加文字提及。 我知道如何在单个页面和商店页面上执行此操作,但不知道如何在其他页面上执行此操作。我唯一找到的就是这段代码,但它不起作用。
在 Woocommerce 中,在管理产品列表中,我应该需要为特定属性过滤产品。 根据“Add a filter dropdown for product tags in woocommerce ad
Woocommerce 有一个带有“woocommerce”类的 div 我想添加另一个类或删除该类。那是哪个文件? 最佳答案 虽然 WooCommerce 没有提供任何支持的方法来实现这一点
您好,目前我想获取 woocommerce 中的税率名称。我有什么办法可以得到这张图中圈出的值:/image/pyGAH.png 我当前的代码: $items = $order->get_items(
在 Woocommerce 中,我尝试显示可变产品的销售日期。 我找到了a code ,如果我将此代码准确地发布在functions.php中,它不会执行任何操作。我尝试修改它,因为我只需要在起始页上
我是一名优秀的程序员,十分优秀!