Disweb Commerce
Плагин для организации торговли на WordPress
Для оформления заказа необходимо создать страницу и ее выбрать в настройках САЙТ/wp-admin/options-general.php?page=dw-commerce-settings параметром Страница оформления заказа.
Для кастомной шаблонизации оформления заказа в активном шаблоне сайта можно создать файл:
шаблон/dw-commerce/order_page.php
Содержимое по умолчанию:
<?php
$type = "new";
if (isset($_POST["order"]) && wp_verify_nonce($_POST['dw_wpnonce'], 'dw_wpnonce'))
{
if (isset($_POST["type"]))
{
if ($_POST["type"] == 'buy')
{
if (!isset($_POST["product"]))
{
goto endScript;
}
$this->cartClear();
if (!$this->cartAdd($_POST["product"], 1))
{
goto endScript;
}
$arProduct = get_posts([
'numberposts' => 1,
'post_type' => 'dw_product',
'post__in' => [$_POST["product"]]
]);
$orderId = $this->orderCreate([
'firstName' => '',
'lastName' => ''
]);
$type = "buy";
echo "[dw-pay-tinkoff sum=" . get_post_meta($orderId, 'dwTotalSum', 1) . " order_id=" . $orderId . " description=\"" . $arProduct[0]->post_title . "\"]";
}
}
}
endScript:
Продажа в один клик:
Задается шорткодом dw-commerce-item-pay с параметрами:
- id — ID товара из типа поста dw_product
- name — наименование кнопки
Пример:
[dw-commerce-item-pay id=1 name="Купить"]
Для кастомной шаблонизации в активном шаблоне сайта можно создать файл:
шаблон/dw-commerce/sc_item_pay_btn.php
Содержимое по умолчанию:
<form action="<?php echo $product->orderLink; ?>" method="POST">
<?php wp_nonce_field('dw_wpnonce', 'dw_wpnonce'); ?>
<input type="hidden" name="order" value="1" />
<input type="hidden" name="type" value="buy" />
<input type="hidden" name="product" value="<?php echo $product->ID; ?>" />
<button class="btn btn-primary"><?php echo $btnName; ?></button>
</form>
Данные которые принимает шаблон:
$productId — ID товара
$btnName — Наименование кнопки
$product — Объект с данными о товаре
->orderLink — Адрес страница оформления заказа
->ID — ID товара
->price — Цена товара
->post_title — Название товара
Глобальная переменная $dwCommerce
Данная переменная в себе несет ссылку на объект плагина.
global $dwCommerce;
Возможности:
$dwCommerce->cartClear() — очистить корзину
$dwCommerce->cartAdd(product_id, quantity) — добавить к корзину товар. product_id — ID товара, quantity — количество
$dwCommerce->orderCreate(flds) — оформить заказ. Возвращает ID заказа.
Принимает параметры flds:
firstName — имя заказчика
lastName — фамилия заказчика
$dwCommerce->getProducts(filter) — получить товары в фильтр передавать исключения по аналогии с get_posts(), есдинственное возвращает только тип поста dw_product
$dwCommerce->getProduct(id) — получить данные товара по ID
$dwCommerce->getOrder(id) — получить данные заказа по ID