Intereting Posts
Разрешить выполнение внешнего скрипта PHP для зарегистрированных пользователей Перемещение из старого пользовательского поля в новое post_thumbnails Где представлен массив $ _POST, хранящийся после отправки страницы с параметрами? Перенаправить пользователя Admin на панели управления is_page () не работает из плагина get_header (), get_footer () из шаблона плагина Могу ли я создавать виджеты перетаскивания, такие как iGoogle в WordPress? WordPress загружает старый style.css, затем загружает текущий get_posts не работает на главной странице? Импорт нового заказа на сайт woocommerce comment_date () & comment_time () не работает из functions.php Домашняя страница показывает недавнюю публикацию, ранговую запись serps на главной странице Использовать механизм перезаписи URL-адресов WordPress Действие draft_to_pending не срабатывает Список сообщений WordPress и связанных с ними вложений за пределами почтовой страницы

Измените значение текста отправки электронной почты WooCommerce

Я пытаюсь использовать фильтр «woocommerce_order_shipping_to_display», чтобы показать «Свободный» в таблице электронной почты WooCommerce, когда никаких сборов за доставку не будет. На изображении я пытаюсь получить значения «Бесплатно» и «Плоская ставка», чтобы просто показать их как свободные. Мой PHP только умеренный, но я не могу получить свой код там. Кто-нибудь видит, что я могу потерять?

/* return custom text on email when shipping is free */ function filter_email_shipping_text( $shipping ) { if ( $this->order_shipping != 0) ) { $shipping = __( 'Free!', 'woocommerce' ); return $shipping; } else { return $shipping; } } add_filter( 'woocommerce_order_shipping_to_display', 'filter_email_shipping_text', 1 ); 

введите описание изображения здесь

ПОЧИНИЛ ЭТО

Я смог исправить свою функцию, и теперь она работает так, как предполагалось. Это рабочая функция и фильтр, если кто-то хочет использовать. Это вернет пользовательский текст, если бесплатная доставка по фиксированной ставке.

 /* return custom text on email when shipping is free */ add_filter( 'woocommerce_order_shipping_to_display', 'filter_email_shipping_text', 10, 2 ); function filter_email_shipping_text( $shipping, $order_id ) { global $woocommerce, $post; $order = new WC_Order( $order_id ); if ( $order->order_shipping == 0 ) { $shipping = sprintf(__( 'Free!', 'woocommerce' )); } return $shipping; }