Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!
100 ₴

Правка цикла php. Плагин wp e-commerce

проект завершен


Здравствуйте уважаемые разработчики. Ищу человека, который дружит с связкой wp+php+mysql.

Постараюсь максимально конкретно объяснить суть задачи для потребностей интернет магазина на базе wordpress с плагином wp e-commerce. Нужно добавить условие в цикл, параметр условия храниться в базе данных.

Описание задачи 


Когда пользователь оформляет покупку, его кидает на страницу transaction-results, генерируется уникальная ссылка такого вида http://xxxxx.com.ua/products/transaction-results/?sessionid=3771517517175 


Когда эта страница генерируется на сервере, создается скрипт с переменными, которые отправляются в google analytics, вот такого вида


<script type='text/javascript'>ga('require', 'ecommerce'); ga('ecommerce:addTransaction', {

'id': '29735',                                               // Transaction ID. Required.

'affiliation': 'Название магазина',  // Affiliation or store name.

'revenue': '4.00',             // Grand Total.

'shipping': '0',             // Shipping.

'tax': '0'                        // Tax.

});

ga('ecommerce:addItem', {'id': '29735','name': 'Название товара ','sku': '8782','category': 'Название категории','price': '4.00','quantity': '1'}); ga('ecommerce:send');</script>


Передаются данные в аналитику о товаре, его цене и тд. До этого момента все хорошо. 


Но, если пользователь перезагрузит эту страницу, в данном случае 

http://xxxxx.com.ua/products/transaction-results/?sessionid=3771517517175 


то в аналитику отправиться еще одна продажа, с такими же параметрами. Для примера, один покупатель оформил заказ и оставил открытой эту страницу на планшете. Каждый раз его браузер перезагружал эту страницу, в итоге в аналитику попало 320 транзакций за 2 месяца, что испортило всю финансовую статистику по проекту. 


У этой проблемы есть простое решение. Отправка кода формируется в файле 

/web/xxxx.com.ua/public_html/wp-content/plugins/wp-e-commerce/wpsc-includes/google-analytics.class.php


Строка 232 


foreach( $cart_items as $item ) {

////////

if ( $this->use_universal_analytics() ) {


$output .= "ga('ecommerce:addItem', {"

. "'id': '" . $purchase_id . "',"             // Transaction ID. Required.

. "'name': '" . $item['name'] . "',"          // Product name. Required.

. "'sku': '" . $item['sku'] . "',"            // SKU/code.

. "'category': '" . $item['category'] . "',"  // Category or variation.

. "'price': '" . $item['price'] . "',"        // Unit price.

. "'quantity': '" . $item['quantity'] . "'"   // Quantity.

. "});\n\r";

////////

}



Нужно добавить условие, проверку по $purchase_id. Если такой параметр $purchase_id уже был в базе, то не исполнять код отправки на аналитику. 


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


Буду ожидать ценовые предложения от исполнителей. Данная задача только тестовое задание, ищу человека на долгосрочное сотрудничество. 

Отзыв заказчика об исполнителе Олеге Б.

Качество
Профессионализм
Стоимость
Контактность
Сроки

Ответственный исполнитель. Быстро вник в суть задачи. Приятный собеседник, только наилучшие рекомендации.

Александр Ш. Александр Штельмах

Отзыв фрилансера о заказчике Александре Штельмахе

Оплата
Постановка задачи
Четкость требований
Контактность

Замечательный заказчик, легко общаться, в процессе принимал участие в решении проблемы. Рекомендую к сотрудничеству!

Олег Белоус Олег Б.


Сделать ставку!

Заказчик не желает делать предоплату? Предложите оплату через Сейф, чтобы избежать возможного мошенничества.

  1. ставка скрыта заказчиком
  2. ставка скрыта заказчиком
  3. ставка скрыта заказчиком
  4. ставка скрыта заказчиком
  5. ставка скрыта заказчиком
  6. ставка скрыта заказчиком

Заказчик
Александр Штельмах
Украина Украина  1   0
Проект опубликован
20 февраля в 15:20
56 просмотров
Местоположение исполнителя
Украина Украина