Форум программистов, компьютерный форум, киберфорум
WordPress
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
14 / 14 / 16
Регистрация: 26.01.2015
Сообщений: 213

Как отправить клиенту письмо об отмене заказа в WooCommerce?

09.08.2019, 11:32. Показов 3838. Ответов 2

Студворк — интернет-сервис помощи студентам
Привет всем!
В админке я не нашёл как это сделать - там по умолчанию письмо доставляется администратору. Но логично клиента уведомить, что его заказ отменён.
Пытаюсь программно решить эту задачу:
PHP
1
2
3
4
5
6
7
8
        elseif ( $_POST['original_post_status'] === 'wc-cancelled' ) {
            $data = $order->get_data();
            $userEmail = $data['billing']['email'];
            $headers[] = 'Content-type:text/html;charset=UTF-8';
            $message = include $_SERVER['SERVER_NAME'].'/wp-content/plugins/woocommerce/templates/emails/admin-cancelled-order.php';
            $mail = mail( "$userEmail", 'Ответ на запрос бронирования', "$message", $headers);
 
        }
Само письмо доставляется, но вот $message я неправильно передаю, судя по результату (пустое письмо).
Подозреваю, что делается это не через функцию mail(), а через хуки и фильтры, но не могу понять как. Прошу помочь!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.08.2019, 11:32
Ответы с готовыми решениями:

Передать в письмо кастомное поле оформления заказа Woocommerce
Здравствуйте. Создал дополнительное кастомное поле на странице оформления заказа по мануалу отсюда - Adding a Custom Special Field ...

При совершении заказа отправить письмо на email
помогите я в пчп ну ни как пока не разберусь,имеется таблица ,надо сделать чтобы при нажатий заказать ,письмо шло на мыло(нужен код пчп) ...

При попытке отправить письмо с почты mail.ru приходит ответное письмо с содержанием, что письмо не отправлено
При попытке отправить письмо с почты mail.ru приходит ответное письмо с содержанием, что письмо не отправлено. В чем может быть причина? ...

2
13 / 8 / 7
Регистрация: 15.04.2015
Сообщений: 46
12.08.2019, 10:01
Ofelion, а если распечатать просто message, что он показывает?
PHP
1
echo $message;
И в Wordpress есть своя функция для отправки писем: wp_mail()
0
14 / 14 / 16
Регистрация: 26.01.2015
Сообщений: 213
12.08.2019, 11:12  [ТС]
rihnovec93, ничего не показывает

Добавлено через 31 минуту
Ответ намного проще, чем может показаться, всего несколько строчек в файле class-wc-email-cancelled-order.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        public function trigger( $order_id, $order = false ) {
            $this->setup_locale();
            $data = $order->get_data(); // инициализируем заказ
            $userEmail = $data['billing']['email']; // получаем email клиента
            if ( $order_id && ! is_a( $order, 'WC_Order' ) ) {
                $order = wc_get_order( $order_id );
            }
 
            if ( is_a( $order, 'WC_Order' ) ) {
                $this->object                                    = $order;
                $this->placeholders['{order_date}']              = wc_format_datetime( $this->object->get_date_created() );
                $this->placeholders['{order_number}']            = $this->object->get_order_number();
                $this->placeholders['{order_billing_full_name}'] = $this->object->get_formatted_billing_full_name();
            }
 
            if ( $this->is_enabled() && $this->get_recipient() ) {
                $this->send( $this->get_recipient().','.$userEmail, $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );  //подставляем его get_recipient().','.$userEmail
            }
 
            $this->restore_locale();
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.08.2019, 11:12
Помогаю со студенческими работами здесь

Как отправить изображение клиенту?
Как отправить изображение с сервера клиенту?

Как отправить сообщение клиенту (idtcpserver)
Всем привет. Начал учить компоненты Idtcpserver и idtcpclient вот пытаюсь написать что то вроде чата. Отправлять сообщения серверу я...

Как отправить клиенту имеющиеся данные ?
app.get('/downloaditem/:item', function(req, res){ var no=req.params; myWebPage="<html><head><title>Downloading Page</title><meta...

Как отправить ответ клиенту с сервера TCP?
Посмотрите пожалуйста эти Клиент и Сервер. Я отправляю команду серверу с просьбой отправить данному клиенту файл, но как передать экземпляр...

Как отправить файл клиенту 2 и более раз ?
есть цикл: foreach ($dataKey AS $key) { header("Content-Type: text/plain"); header('Content-Disposition: attachment;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru