backend_marketing_promo_orders
Allows modification of orders related to a promo and adding custom content to that list’s section.
Shop-Script
Input (passed by reference)
$params['page'] int No. of current page in the order list.
$params['orders'] array List of orders.
$params['orders'][id] array Individual order’s properties.
$params['orders'][id]['items'] array List of ordered items.
$params['orders'][id]['params'] array Order parameters.
$params['orders'][id]['contact'] array Customer data.
$params['orders'] array List of orders.
$params['orders'][id] array Individual order’s properties.
$params['orders'][id]['items'] array List of ordered items.
$params['orders'][id]['params'] array Order parameters.
$params['orders'][id]['contact'] array Customer data.
… your plugin code …
Output
{$backend_marketing_promo_orders.top}
Extra content at the top of a promo’s orders listing area. E.g., an information block or a JavaScript code snippet.
Shop-Script
Plugin code example
PHP
public function backendMarketingPromoOrders(&$params)
{
$new_customers_orders_count = 0;
$counted_customers = [];
foreach ($params['orders'] as &$order) {
$customer_contact_id = $order['contact_id'];
if (empty($counted_customers[$customer_contact_id])) {
$counted_customers[$customer_contact_id] = true;
$customer = new shopCustomer($customer_contact_id);
$customer_orders_count = $customer->getCustomerData('number_of_orders');
if ($customer_orders_count == 1) {
$order['style'] .= 'text-transform: uppercase;';
$new_customers_orders_count++;
}
}
}
return [
'top' => '<div class="box custom-p-8 highlighted">'
. sprintf_wp('Number of new customers’ orders: %d', $new_customers_orders_count)
. '</div>',
];
}









