wordpress — используйте php, чтобы изменить используемый шаблон электронной почты woocommerce (НЕ настраивать шаблоны)

Мне представили проблему от SendInBlue, провайдера почтового маркетинга.

Короче говоря, SendInBlue позволяет сопоставлять только электронные письма woocommerce по умолчанию с шаблонами, созданными в их программном обеспечении.

У меня проблема в том, что мы используем три пользовательских шаблона, которые я не могу отобразить.

Одним из решений, которое я подумал, возможно, было бы целесообразным, было бы создание функции, которая изменяет мое настраиваемое электронное письмо с использованием нового шаблона заказа woocommerce, который, в свою очередь, затем сопоставлялся бы с новым шаблоном заказа SendInBlue.

Это возможно? Если кто-то может предложить какой-либо вклад в эту проблему, он будет очень признателен.

Спасибо

.

ДОПОЛНИТЕЛЬНЫЙ

Я использую плагин SendinBlue Woocommerce — https://wordpress.org/plugins/woocommerce-sendinblue-newsletter-subscription/

Это снимок экрана страницы администратора, где вы сопоставляете свою электронную почту Woocommerce с шаблоном SendinBlue https://ps.w.org/woocommerce-sendinblue-newsletter-subscription/trunk/screenshot-3.png?rev=1745315

2

Решение

WooCommerce использует wc_locate_template фильтр для загрузки своих шаблонов.

Вы можете использовать этот фильтр для условной загрузки определенных шаблонов или возврата по умолчанию. Это не даст конкретного ответа на ваш вопрос, но даст вам общее представление о том, как решить эту проблему.

Я столкнулся с подобной проблемой, пытаясь использовать шаблоны лезвий в моей теме WP при использовании WooCommerce.

/**
* Conditionally filter the email template WooCommerce chooses.
*
* @filter wc_locate_template
* @param  {string}  $template   Full file path to original woo template
* @return {string}              Full path to desired template to render
*/
function filter_wc_email_templates($template) {
// Psuedo code
$target = 'order-confirmation.php';
$replacement = 'shipping-confirmation.php';
$isTargetFile = strstr($template, $target) !== false;

if (! $isTargetFile) {
// if this is not the file we want to modify functionality for
// just retrun the default one
return $template;
} else {
// if this is the target file we want to replace
// return the full path to the file of the template we want to use
return getThemeTemplatePath() . '/<path to WooCommerce in your theme>/' . $replacement;
}
});

add_filter('wc_locate_template', 'filter_wc_email_templates');
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]