Я хочу продвигать свои продукты через некоторые партнерские сети.
Единственное, что вам нужно сделать, это зайти в файл function.php и добавить этот скрипт с пикселем. С этим скриптом отслеживание значения суммы работает нормально. Этот сценарий работает только для одной сети и если вы являетесь единственным поставщиком.
add_action( 'woocommerce_thankyou', 'my_custom_tracking' );
function my_custom_tracking( $order_id ) {
$order = new WC_Order( $order_id );
$total = $order->get_subtotal();
$id = str_replace('#', '', $order->get_order_number());
echo '<iframe src="https://network.com/track?offer_id=666&amount=' . $total . '&track_id=' . $id . '" scrolling="no" frameborder="0" width="1" height="1"></iframe>';
}
Моя проблема: у меня есть несколько поставщиков, которые используют мою платформу для доставки/обработки покупки продуктов.
Мне нужно знать, как я могу изменить файл функции, чтобы добавить рабочий второй скрипт для 2-го пикселя, если был выбран и куплен конкретный продукт.
Мои навыки работы с woocommerce ограничены, поэтому я хотел бы понять, как изменить скрипт, не нанося вреда (общему) отслеживанию.
- Если кто-то покупает «обычные» продукты, должен сработать первый пиксель выше.
- Если кто-то покупает конкретный продукт с идентификатором продукта 2004, то должны сработать два разных пикселя и проигнорировать первый пиксель.
Мне нужно добавить вторую функцию или изменить первую?
Спасибо
Дополнительные вопросы (обновление от 16 мая 2017 г.)
В будущем мне, вероятно, придется установить третий пиксель. Какой будет структура?
add_action('woocommerce_thankyou', 'wh_custom_tracking');
function wh_custom_tracking($order_id)
{
$product_ids = [2004, 2000]; //<-- list of product_id(s) for which 2nd pixels should fire
$checkSecond = FALSE;
$product_ids = [2003, 2001]; //<-- list of product_id(s) for which 3nd pixels should fire
$checkThird = FALSE;
$order = wc_get_order($order_id);
$total = $order->get_subtotal();
$id = str_replace('#', '', $order->get_order_number());
$items = $order->get_items();
foreach ($items as $item)
{
$item_id = $item['product_id']; // <= Here is your product ID
if (in_array($item_id, $product_ids))
{
$checkSecond = TRUE;
break;
}
{
$checkThird = TRUE;
break;
}
}
if ($checkSecond)
{
//add your 2nd pixel here 2nd pixel
}
else
if ($checkThird)
{
//add your 3nd pixel here 2nd pixel
}
else
{
echo '<iframe src="https://network.com/track?offer_id=666&amount=' . $total . '&track_id=' . $id . '" scrolling="no" frameborder="0" width="1" height="1"></iframe>';
}
}
Подходит ли та же структура для идентификаторов вариантов?
В партнерском программном обеспечении в рамках предложения могут использоваться "Целевой пиксель" и "конечный пиксель".
Некоторые продукты являются «тестовыми продуктами» и имеют стоимость 0,00 евро. Если основной пиксель срабатывает, партнер не получает компенсацию, даже если клиент впоследствии покупает продукт.
В этом случае необходимо установить своего рода целевой пиксель для идентификатора варианта конкретного продукта. Если клиент после тестового месяца примет решение о покупке, то должен сработать «правильный пиксель».
Product_Nr. 2004
это атрибут продукта или что? - person Raunak Gupta   schedule 16.05.2017