在woocommerce中添加新的自定义送货字段

时间:2015-05-07 10:06:07

标签: wordpress woocommerce checkout

我想在我的woocommerce结帐中添加一个新的自定义结算字段。在我的子主题functions.php中添加以下代码,保存并刷新页面后,我收到一个空白页面。没有错误消息。我相信必须有语法错误或其他东西。

add_filter('woocommerce_checkout_fields','custom_override_checkout_fields');
function custom_override_checkout_fields($fields) {
   $fields['shipping']['about_yourself'] = array(
      'label' => __('About yourself', 'woocommerce'),
      'placeholder' => _x('About yourself', 'placeholder', 'woocommerce'),
      'required' => false,
      'class' => array('form-row-wide');
      'clear' => true
   );
   return $fields;
}

我想知道是否有人可以帮助我。

提前谢谢

2 个答案:

答案 0 :(得分:4)

错误位于数组字段中,应该是:

$fields['shipping']['about_yourself'] = array(
  'label' => __('About yourself', 'woocommerce'),
  'placeholder' => _x('About yourself', 'placeholder', 'woocommerce'),
  'required' => false,
  'class' => array('form-row-wide'), 
  'clear' => true
);

注意:在开发过程中启用error_reporting()并将WP_DEBUG设置为true。这是在wp-config.php文件

中的WordPress开发期间启用它的方法
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

答案 1 :(得分:0)

您已在;

中添加,而非'class' => array('form-row-wide');

所以你的代码是:

add_filter('woocommerce_checkout_fields','custom_override_checkout_fields');
    function custom_override_checkout_fields($fields) {
       $fields['shipping']['about_yourself'] = array(
          'label' => __('About yourself', 'woocommerce'),
          'placeholder' => _x('About yourself', 'placeholder', 'woocommerce'),
          'required' => false,
          'class' => array('form-row-wide'),
          'clear' => true
       );
       return $fields;
}