Dimella
Новичок
Добрый день. Пытаюсь добавить дополнительное поле в описание метода оплаты(ЮKassa) с помощью следующего кода:
add_filter( 'woocommerce_gateway_description', 'gateway_bacs_custom_fields', 25, 2 );
function gateway_bacs_custom_fields( $description, $gateway_id ){
//
$total = WC()->cart->subtotal;
$minimum_amount = 700;
$max_amount = 2599;
if( 'yookassa_epl' === $gateway_id && $total >= $minimum_amount && $total <= $max_amount){
ob_start(); // Start buffering
echo '<div class="bacs-fields" style="padding:10px 0;">';
woocommerce_form_field( 'field_slug', array(
'type' => 'select',
'label' => ("Бонусная программа", "woocommerce"),
'class' => array('form-row-wide'),
'required' => true,
'options' => array(
'' => ("Выберите свой подарок", "woocommerce"),
'choice-1' => ("Подарок 1", "woocommerce"),
'choice-2' => ("Подарок 2", "woocommerce"),
),
), '');
echo '<div>';
$description .= ob_get_clean(); // Append buffered content
}
return $description;
}
Описание не меняется, нужное мне поле не появляется. Причем если в функции прописываю другой способ оплаты, у него все выводится. Не выводится именно для ЮKassa.
В чем может быть проблема?
Если прописать описание в настройках способа оплаты ЮKassa, текст меняется http://dl4.joxi.net/drive/2022/12/26/0032/1290/2143498/98/0b9e046389.jpg
add_filter( 'woocommerce_gateway_description', 'gateway_bacs_custom_fields', 25, 2 );
function gateway_bacs_custom_fields( $description, $gateway_id ){
//
$total = WC()->cart->subtotal;
$minimum_amount = 700;
$max_amount = 2599;
if( 'yookassa_epl' === $gateway_id && $total >= $minimum_amount && $total <= $max_amount){
ob_start(); // Start buffering
echo '<div class="bacs-fields" style="padding:10px 0;">';
woocommerce_form_field( 'field_slug', array(
'type' => 'select',
'label' => ("Бонусная программа", "woocommerce"),
'class' => array('form-row-wide'),
'required' => true,
'options' => array(
'' => ("Выберите свой подарок", "woocommerce"),
'choice-1' => ("Подарок 1", "woocommerce"),
'choice-2' => ("Подарок 2", "woocommerce"),
),
), '');
echo '<div>';
$description .= ob_get_clean(); // Append buffered content
}
return $description;
}
Описание не меняется, нужное мне поле не появляется. Причем если в функции прописываю другой способ оплаты, у него все выводится. Не выводится именно для ЮKassa.
В чем может быть проблема?
Если прописать описание в настройках способа оплаты ЮKassa, текст меняется http://dl4.joxi.net/drive/2022/12/26/0032/1290/2143498/98/0b9e046389.jpg