如何在结账页面中添加更多必填*字段?

时间:2017-03-02 作者:adel

我已经安装了word press+woo commerce,我的网站是用阿拉伯语运行的。

我的签出页面包含以下字段(名字-姓氏-电子邮件-电话)

我想要的是:我希望通过添加一个额外的字段(公司名称-职位)来编辑我的结帐页面,比如如何做到这一点

我希望如果你解释我在PHP、CSS方面没有任何经验,我会应用你的建议

2 个回复
SO网友:Kristoffer M

如果您至少知道如何打开“functions.php”文件,那么如果您只需将其添加到函数的底部,以下内容就可以了。您(子)主题的php文件:

// Hook in

add_filter( \'woocommerce_checkout_fields\' , \'custom_add_checkout_fields\' );

// Our hooked in function - $fields is passed via the filter!
function custom_add_checkout_fields( $fields ) {
     $fields[\'billing\'][\'Company\'] = array(
        \'label\'     => __(\'Company\', \'woocommerce\'),
    \'placeholder\'   => _x(\'Company Name\', \'placeholder\', \'woocommerce\'),
    \'required\'  => true,
    \'class\'     => array(\'form-row-wide\'),
    \'clear\'     => true
     );


    $fields[\'billing\'][\'Position\'] = array(
        \'label\'     => __(\'Position\', \'woocommerce\'),
    \'placeholder\'   => _x(\'Position\', \'placeholder\', \'woocommerce\'),
    \'required\'  => true,
    \'class\'     => array(\'form-row-wide\'),
    \'clear\'     => true
     );


     return $fields;
}
这应将字段添加到签出页面,并使其成为必需字段。然后,如果您还想将该信息添加到电子邮件中:

add_filter(\'woocommerce_email_order_meta_keys\', \'my_custom_order_meta_keys\');

function my_custom_order_meta_keys( $keys ) {
     $keys[] = \'Company\'; // This will look for a custom field called \'Company\' and add it to emails
     $keys[] = \'Position\';
     return $keys;
}
从中使用的代码段this woocommerce doc

PLEASE NOTE

将其直接添加到函数中。主题的php文件,然后更新主题将其删除-创建子主题是最佳做法。我知道整个答案可能对你没有帮助,但可能对其他人有帮助。

SO网友:Fernando Baltazar

尝试使用插件来实现这一点。存储库中有几个插件https://wordpress.org/plugins/search.php?type=term&q=custom+field+checkout.

因此,您可以从这里测试其中一些,并选择您最喜欢的。例如,这个很容易使用https://wordpress.org/plugins/woo-custom-checkout-field/

相关推荐