首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使结帐结算公司字段在Woocommerce中保持活跃

使结帐结算公司字段在Woocommerce中保持活跃
EN

Stack Overflow用户
提问于 2018-12-18 20:54:46
回答 1查看 1.1K关注 0票数 1

需要在WooCommerce 3.0的签出中只读取输入,但仍有原始内容传递给订单。在这种情况下,订单需要传递给FishBowl。

我在这里尝试过很多方法。这是最近的..。

代码语言:javascript
复制
add_action('woocommerce_form_field_args', 'disable_company_input', 10, 3);


function disable_company_input($args, $key, $value)
{
    if ($key == 'billing_company') {
        $args['custom_attributes'] = [
            'disabled' => 'disabled',
        ];
    }
    return $args;
}

add_action('woocommerce_after_order_notes', 'billing_company_hidden_field');

function billing_company_hidden_field($checkout)
{

    echo '<input type="hidden" class="input-hidden" name="billing_company">';

}

我试图禁用用户更改billing_company的能力,这段代码确实完成了这一功能,但仍然将其传递到最后的顺序,而我似乎无法做到这一点。

如果你能帮忙的话,非常感谢你。

EN

回答 1

Stack Overflow用户

发布于 2018-12-18 21:09:15

尝试以下选项(因为文本字段需要是readonly__,而不是disabled__)

代码语言:javascript
复制
add_filter( 'woocommerce_checkout_fields' , 'custom_checkout_fields' );
function custom_checkout_fields( $fields ) {
    $fields['billing']['billing_company']['custom_attributes']['readonly'] = 'readonly';

    return $fields;
}

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

如果存在某些数据,它将出现在此字段中,但客户将无法添加或更改输入,因为它将是“只读”。

加法-检查计费公司是否没有价值,并隐藏/删除该字段:

代码语言:javascript
复制
add_filter( 'check_billing_company_checkout_field' , 'check_billing_company_checkout_field' );
function billing_company_checkout_field( $fields ) {
    $billing_company = WC()->customer->get_billing_company();

    if( empty( $billing_company ) ) { // Remove field
        unset($fields['billing']['billing_company']); 
    } else { // Make readonly
        $fields['billing']['billing_company']['custom_attributes']['readonly'] = 'readonly'; 
    }

    return $fields;
}

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53840910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档