У меня была проблема с переводом страницы оформления заказа и проблемами совместимости с WPML, с помощью друга, который сейчас недоступен, он создал файл PHP для установки текста метки полей на основе текущего языка посетителей. , Все работает нормально, теперь я могу добавлять новые поля в панель инструментов и переводить их в этот файл PHP; но моя проблема сейчас в том, что некоторые из новых типов полей являются переключателями или флажками, и я не знаю, как перевести опции, используя тот же метод. Пожалуйста, смотрите код ниже, и ваша помощь будет высоко оценена.
<?php
/**
* Checkout billing information form
*
* This template can be overridden by copying it to yourtheme/woocommerce/checkout/form-billing.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version kof the template file will be bumped and
* the readme will list any important changes.
*
* @see https://docs.woocommerce.com/document/template-structure/
* @package WooCommerce/Templates
* @version 3.6.0
* @global WC_Checkout $checkout
*/
defined( 'ABSPATH' ) || exit;
?>
<div class="woocommerce-billing-fields">
<?php if ( wc_ship_to_billing_address_only() && WC()->cart->needs_shipping() ) : ?>
<h3><?php esc_html_e( 'Billing & Shipping', 'woocommerce' ); ?></h3>
<?php else : ?>
<h3><?php esc_html_e( 'Billing details', 'woocommerce' ); ?></h3>
<?php endif; ?>
<?php do_action( 'woocommerce_before_checkout_billing_form', $checkout ); ?>
<div class="woocommerce-billing-fields__field-wrapper">
<?php
$current_language = ICL_LANGUAGE_CODE;
$fields = $checkout->get_checkout_fields( 'billing' );
foreach ( $fields as $key => $field ) {
if($key == "billing_first_name"){
if(isset($current_language) && $current_language == "ar"){
$field['label'] = "الاسم";
}else{
$field['label'] = "First Name";
}
}else if($key == "billing_last_name"){
if(isset($current_language) && $current_language == "ar"){
$field['label'] = "اللقب";
}else{
$field['label'] = "Last Name";
}
}else if($key == "billing_country"){
if(isset($current_language) && $current_language == "ar"){
$field['label'] = "الدولة";
}else{
$field['label'] = "Country";
}
}else if($key == "billing_address_1"){
if(isset($current_language) && $current_language == "ar"){
$field['label'] = "عنوان الشارع";
}else{
$field['label'] = "Street Address";
}
}else if($key == "billing_city"){
if(isset($current_language) && $current_language == "ar"){
$field['label'] = "المدينة";
}else{
$field['label'] = "City";
}
}else if($key == "billing_phone"){
if(isset($current_language) && $current_language == "ar"){
$field['label'] = "رقم الجوال";
}else{
$field['label'] = "Mobile No.";
}
}else if($key == "billing_email"){
if(isset($current_language) && $current_language == "ar"){
$field['label'] = "البريد الإلكتروني";
}else{
$field['label'] = "Email";
}
}else if($key == "gender"){
if(isset($current_language) && $current_language == "ar"){
$field['label'] = "النوع";
}else{
$field['label'] = "Gender";
}
}
woocommerce_form_field( $key, $field, $checkout->get_value( $key ) );
}
?>
</div>
<?php do_action( 'woocommerce_after_checkout_billing_form', $checkout ); ?>
</div>
<?php if ( ! is_user_logged_in() && $checkout->is_registration_enabled() ) : ?>
<div class="woocommerce-account-fields">
<?php if ( ! $checkout->is_registration_required() ) : ?>
<p class="form-row form-row-wide create-account">
<label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox">
<input class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" id="createaccount" <?php checked( ( true === $checkout->get_value( 'createaccount' ) || ( true === apply_filters( 'woocommerce_create_account_default_checked', false ) ) ), true ); ?> type="checkbox" name="createaccount" value="1" /> <span><?php esc_html_e( 'Create an account?', 'woocommerce' ); ?></span>
</label>
</p>
<?php endif; ?>
<?php do_action( 'woocommerce_before_checkout_registration_form', $checkout ); ?>
<?php if ( $checkout->get_checkout_fields( 'account' ) ) : ?>
<div class="create-account">
<?php foreach ( $checkout->get_checkout_fields( 'account' ) as $key => $field ) : ?>
<?php woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); ?>
<?php endforeach; ?>
<div class="clear"></div>
</div>
<?php endif; ?>
<?php do_action( 'woocommerce_after_checkout_registration_form', $checkout ); ?>
</div>
<?php endif; ?>