2016-12-13 19 views
4

На моем веб-сайте WooCommerce я использую Woocommerce Order Barcodes для отображения штрих-кодов заказа на уведомления по электронной почте.
Я хотел бы скрыть или удалить этот штрих-код и показать его ТОЛЬКО на завершено состояние заказа email.Отображение штрих-кодов для заполненного статуса заказа только по электронной почте

Я попытался отредактировать файл плагина (я знаю, что это не рекомендуется). Я удалил эту (строка 128 - 129) в class-woocommerce-order-barcodes.php плагин файла:

// Add barcode to order complete email 
add_action('woocommerce_email_after_order_table', array($this, 'get_email_barcode'), 1, 1); 

Но он удаляет штрих-коды от всех уведомлений по электронной почте.

Как я могу удалить эти штрих-коды из уведомления по электронной почте и показать его только при заполненном уведомлении по электронной почте?

Благодаря

ответ

2

Поворот вокруг, чтобы заставить его работать только для законченных статуса заказа уведомлений по электронной почте, чтобы добавить только это маленькое условие в операторе IF:

$order->has_status('completed') 

Таким образом, вы можете попробовать это так первый:

if (!$this->has_status('completed')){ 
    add_action('woocommerce_email_after_order_table', array($this, 'get_email_barcode'), 1, 1); 
} 

Но я не уверен, чтобы получить объект $ заказа ($ это) в го Кроме того, я смотрел дальше в коде этого плагина.

В линии 358 у вас есть код, где я должен добавить условие.

/** 
* Get barcode for display in an email 
* @access public 
* @since 1.0.0 
* @param object $order Order object 
* @return void 
*/ 
public function get_email_barcode ($order) { 

    if(! $order) return; 

    // HERE is my condition <==== <==== <==== <==== <==== <==== <==== 
    if (!$order->has_status('completed')) return; 

    // Generate correctly formatted HTML for email 
    ob_start(); ?> 

// …/… 
// code of the function continues … 

Вот и я уверен, что будет работать, как я, мы получаем уже объект $order. Единственное, что вам придется добавить этот код снова каждый раз, когда вы будете обновлять этот плагин.

Поскольку это не проверено, я не уверен, что он сработает. Пожалуйста, дайте мне ссылку на него

+0

Как обычно, ваша настройка работает как шарм, спасибо Loïc, что вы #ONE –