woocommerceチェックアウトページのフィールドを無効にする方法[重複]
チェックアウトページのアドレス1とアドレス2のフィールドを無効にしようとしています。アカウントページで以下の作業コードを使用しました。チェックアウトページで編集した後、アドレス1とアドレス2のフィールドを無効にするためにコードを使用しようとしました。しかし、残念ながらそれは機能しません、親切に助けてください。
add_filter( 'woocommerce_checkout_fields', 'readonly_billing_account_fields', 25, 1 );
function readonly_billing_account_fields ( $billing_fields ) { // Only my account billing address for logged in users if( is_user_logged_in() && is_account_page() ){ $readonly = ['readonly' => 'readonly'];
$billing_fields['address_1']['custom_attributes'] = $readonly;
$billing_fields['address_2']['custom_attributes'] = $readonly;
}
return $billing_fields;
}
回答
2 suii
is_checkout()
条件を追加してから、フィールドをbilling_address_1と2に変更します。
add_filter( 'woocommerce_checkout_fields', 'readonly_billing_account_fields', 25, 1 );
function readonly_billing_account_fields ( $billing_fields ) { // Only my account billing address for logged in users if( (is_user_logged_in() && is_account_page()) || is_checkout()){ $readonly = ['readonly' => 'readonly'];
$billing_fields['billing']['billing_address_1']['custom_attributes'] = $readonly;
$billing_fields['billing']['billing_address_2']['custom_attributes'] = $readonly;
}
return $billing_fields;
}