为了账号安全,请及时绑定邮箱和手机立即绑定

重新排列和自定义 woocommerce 结帐字段

重新排列和自定义 woocommerce 结帐字段

PHP
12345678_0001 2021-12-03 16:10:18
我需要修改默认的 woocommerce billing&shipping 字段。我需要移动其中一些,设置不同的表单行类并在删除标签的同时添加占位符。我的代码正在运行,但我想知道是否有更简洁的解决方案,即是否可以缩短和/或优化代码。我的代码是add_filter('woocommerce_default_address_fields', 'override_address_fields');function override_address_fields( $address_fields ) {    $address_fields['first_name']['placeholder'] = 'yxz';    $address_fields['last_name']['placeholder'] = 'yxz';    $address_fields['address_1']['placeholder'] = 'yxz';    $address_fields['company']['placeholder'] = 'yxz';    $address_fields['postcode']['placeholder'] = 'yxz';    $address_fields['city']['placeholder'] = 'yxz';    return $address_fields;}add_filter( "woocommerce_checkout_fields", "reordering_checkout_fields", 15, 1 );function reordering_checkout_fields( $fields ) {    $fields['billing']['billing_phone']['placeholder'] = 'yxz';    $fields['billing']['billing_email']['placeholder'] = 'yxz';    unset($fields['order']['order_comments']);    return $fields;}add_filter( 'woocommerce_checkout_fields', 'rearrange_checkout_fields' ); function rearrange_checkout_fields( $checkout_fields ) {    $checkout_fields['billing']['billing_country']['priority'] = 80;    $checkout_fields['shipping']['shipping_country']['priority'] = 80;    return $checkout_fields;}
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

您可以在第一个函数中包含第三个函数,因此您的代码将类似于:


add_filter('woocommerce_default_address_fields', 'customize_default_address_fields', 20, 1 );

function customize_default_address_fields( $address_fields ) {

    $address_fields['first_name']['placeholder'] = 'yxz';

    $address_fields['last_name']['placeholder'] = 'yxz';

    $address_fields['address_1']['placeholder'] = 'yxz';

    $address_fields['company']['placeholder'] = 'yxz';

    $address_fields['postcode']['placeholder'] = 'yxz';

    $address_fields['city']['placeholder'] = 'yxz';


    // Reorder billing and shipping "country" fields (on checkout page)

    if ( is_checkout() )

        $address_fields['country']['priority'] = 80; // Country


    return $address_fields;

}


add_filter( "woocommerce_checkout_fields", "customize_other_checkout_fields", 20, 1 );

function customize_other_checkout_fields( $fields ) {

    $fields['billing']['billing_phone']['placeholder'] = 'yxz';

    $fields['billing']['billing_email']['placeholder'] = 'yxz';


    $fields['billing']['billing_email']['class'] = array('form-row-first'); // HERE

    $fields['billing']['billing_phone']['class'] = array('form-row-last');  // HERE


    unset($fields['order']['order_comments']);


    return $fields;

}

代码位于活动子主题(或活动主题)的 function.php 文件中。测试和工作。


查看完整回答
反对 回复 2021-12-03

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号