Задать вопрос
@zeaovede

Как вывести описание для двух и более методов оплаты?

Вот так описание выводится для двух методов оплаты. И это работает
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}
  $title = ($gateway->id=='enot') ? 'Описание-1.' : 'Описание-2';
?>
<li id="position-center" class="wc_payment_method payment_method_<?php echo esc_attr( $gateway->id ); ?>">
	<input id="payment_method_<?php echo esc_attr( $gateway->id ); ?>" type="radio" class="input-radio" name="payment_method" value="<?php echo esc_attr( $gateway->id ); ?>" <?php checked( $gateway->chosen, true ); ?> data-order_button_text="<?php echo esc_attr( $gateway->order_button_text ); ?>" />

	<label for="payment_method_<?php echo esc_attr( $gateway->id ); ?>" class="bs-tooltip primary mb-3" title="<?php echo $title; ?>" data-toggle="tooltip">
		<?php echo $gateway->get_icon(); /* phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped */ ?>
	</label>
</li>


Но когда я попытался вывести третий метод оплаты, то у меня ничего не вышло. Как вывести описание для третьего метода оплаты?
  • Вопрос задан
  • 101 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
V_A_B
@V_A_B
¯\_(ツ)_/¯
$title = ($gateway->id=='enot') ? 'Описание-1.' : ( ($gateway->id=='Not enot') ? 'Описание-2' : 'Описание-3');
//
$title = ($gateway->id=='enot') ? 'Описание-1.' : ( ($gateway->id=='Not enot') ? 'Описание-2' : ( ($gateway->id=='Bla-Bla') ? 'Описание-3' : 'Описание-4' ) );
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@inFureal
switch (gateway->id) {
     case 'enot': $title = 'Описание-1'; break;
     case 'stripe': $title = 'Описание-2'; break;
     default: throw new \InvalidArgumentException("Неправильный способ оплаты");
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы