脚本宝典收集整理的这篇文章主要介绍了php – 如何从WooCommerce获取所有结帐字段?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
$fields = WC()->checkout()->checkout_fields;
返回致命错误:
Fatal error: Call to a member function get_country() on a non-object in ../wp-content/plugins/woocommerce/includes/class-wc-checkout.PHP</b> on line 768
编辑:
我的插件需要一个下拉字段,后端有所有可用的结帐字段.我喜欢的是这样的数组(我var_dump WC_Checkout
类的$checkout_fields变量):
Array ( [billing] => Array ( [billing_country] => Array ( [tyPE] => country [label] => Country [required] => 1 [class] => Array ( [0] => form-row-wide [1] => address-field [2] => update_totals_on_change ) ) [billing_First_name] => Array ( [label] => First Name [required] => 1 [class] => Array ( [0] => form-row-first ) ) [billing_last_name] => Array ( [label] => Last Name [required] => 1 [class] => Array ( [0] => form-row-last ) [clear] => 1 ) [billing_company] => Array ( [label] => Company Name [class] => Array ( [0] => form-row-wide ) ) [billing_address_1] => Array ( [label] => Address [placeholder] => Street address [required] => 1 [class] => Array ( [0] => form-row-wide [1] => address-field ) ) [billing_address_2] => Array ( [placeholder] => Apartment,suITe,unit etc. (optional) [class] => Array ( [0] => form-row-wide [1] => address-field ) [required] => ) [billing_postcode] => Array ( [label] => Postcode / Zip [placeholder] => Postcode / Zip [required] => 1 [class] => Array ( [0] => form-row-wide [1] => address-field ) [clear] => 1 [validate] => Array ( [0] => postcode ) ) [billing_city] => Array ( [label] => Town / City [placeholder] => Town / City [required] => 1 [class] => Array ( [0] => form-row-wide [1] => address-field ) ) [billing_state] => Array ( [type] => state [label] => State / County [placeholder] => State / County [required] => [class] => Array ( [0] => form-row-first [1] => address-field ) [validate] => Array ( [0] => state ) ) [billing_email] => Array ( [label] => Email Address [required] => 1 [class] => Array ( [0] => form-row-first ) [validate] => Array ( [0] => email ) ) [billing_phone] => Array ( [label] => Phone [required] => 1 [class] => Array ( [0] => form-row-last ) [clear] => 1 [validate] => Array ( [0] => phone ) ) ) [shipping] => Array ( [shipping_country] => Array ( [type] => country [label] => Country [required] => 1 [class] => Array ( [0] => form-row-wide [1] => address-field [2] => update_totals_on_change ) ) [shipping_first_name] => Array ( [label] => First Name [required] => 1 [class] => Array ( [0] => form-row-first ) ) [shipping_last_name] => Array ( [label] => Last Name [required] => 1 [class] => Array ( [0] => form-row-last ) [clear] => 1 ) [shipping_company] => Array ( [label] => Company Name [class] => Array ( [0] => form-row-wide ) ) [shipping_address_1] => Array ( [label] => Address [placeholder] => Street address [required] => 1 [class] => Array ( [0] => form-row-wide [1] => address-field ) ) [shipping_address_2] => Array ( [placeholder] => Apartment,unit etc. (optional) [class] => Array ( [0] => form-row-wide [1] => address-field ) [required] => ) [shipping_postcode] => Array ( [label] => Postcode / Zip [placeholder] => Postcode / Zip [required] => 1 [class] => Array ( [0] => form-row-wide [1] => address-field ) [clear] => 1 [validate] => Array ( [0] => postcode ) ) [shipping_city] => Array ( [label] => Town / City [placeholder] => Town / City [required] => 1 [class] => Array ( [0] => form-row-wide [1] => address-field ) ) [shipping_state] => Array ( [type] => state [label] => State / County [placeholder] => State / County [required] => [class] => Array ( [0] => form-row-first [1] => address-field ) [validate] => Array ( [0] => state ) ) ) [account] => Array ( [account_password] => Array ( [type] => password [label] => Account password [required] => 1 [placeholder] => Password ) ) [order] => Array ( [order_comments] => Array ( [type] => textarea [class] => Array ( [0] => notes ) [label] => Order Notes [placeholder] => Notes about your order,e.g. special notes for delivery. ) ) )
class my_checkout_fields_class { VAR $countries; function __construct() { $this->countries = new WC_Countries(); } }
现在,您可以在此课程中分别获取结算和发货字段.
$billlingfields = $this->countries->get_address_fields( $this->countries->get_base_country(),'billing_'); $shippingfields = $this->countries->get_address_fields( $this->countries->get_base_country(),'shipping_');
问候
以上是脚本宝典为你收集整理的php – 如何从WooCommerce获取所有结帐字段?全部内容,希望文章能够帮你解决php – 如何从WooCommerce获取所有结帐字段?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。