php – 如何从WooCommerce获取所有结帐字段?
发布时间:2020-12-13 17:48:02 所属栏目:PHP教程 来源:网络整理
导读:我想获得所有可用的结帐字段,包括第三方字段: $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
我想获得所有可用的结帐字段,包括第三方字段:
$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 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_'); 问候 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |