Опубликовано Оставить комментарий

Telegram бот для WooCommerce. Часть 1.

Этой статьей я открываю небольшой тренинг по написанию расширений для WooCommerce. Чтобы не писать зря мы сделаем Telegram бот для WooCommerce.

Bot father
Так выглядит папа ботов

Давно хотел написать Telegram бота для своего Интернет магазина.Я хочу получать всю информацию о заказах в свой telegram и может быть реализовать какие то функции по управлению заказами.

Вначале статьи приведу несколько ссылок на официальную документацию :

От слов к делу. Создадим начальный каркас нашего плагина. Откроем PHPStorm или любой другой привычный Вам редактор PHP , создадим файл woo-telegram.php и заполним его.

Вот так это может выглядеть :

/*
Plugin Name: WooCommerce -> Telegram
Description: Плагин интеграции  WooCommerce c Telegram.
*/
if ( ! defined('ABSPATH')) {
    exit;
}

if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
    function wc_telegram_add_integration($integrations) {
        global $woocommerce;

        if (is_object($woocommerce)) {
            include_once( 'includes/telegram.php' );
            $integrations[] = 'Telegram';
        }
        return $integrations;
    }

    add_filter('woocommerce_integrations', 'wc_telegram_add_integration', 10);
}

Вначале идут описание плагина, стандартные проверки на прямой вызов скрипта и существование плагина WooCommerce. Дальше пишем функцию wc_telegram_add_integration смысл которой создать нашу интеграцию в WooCommerce. В ней же определяем где будет лежать наш основной код (includes/telegram.php). Завершаем все стандартным фильтром add_filter который регистрирует нашу функцию в WooCommerce.

Вид плагина
Так выглядит наш плагин в общем списке плагинов

В принципе наш вновь созданный Telegram бот для WooCommerce уже имеет вид плагина. Разместив его в папке wp-content/plugins вы увидите его в списке плагинов и даже сможете активировать/деактивировать его.

Но в WooCommerce->Настройки->Интеграции Вы его пока не увидите. Исправим это и напишем минимальную обвязку плагина. Открываем наш файл includes/telegram.php и добавляем в него:

<?php

if (!defined('ABSPATH')) {
    exit;
}

class Telegram extends WC_Integration
{
    public function __construct()
    {
        $this->id = "woo-telegram";
        $this->method_title = "Телеграм бот для WooCommerce";
        $this->method_description = "Плагин связывает WooCommerce c Telegram ботом.";
    }
}

В начале опять проверка на прямой запуск плагина, дальше мы создаем наш класс Telegram и наследуем его от встроенного класса WC_Integration. Все плагины для WooCommerce интеграций должны наследоваться от этого класса. Заполняем минимально необходимой информацией. Где id это идентификатор нашего класса, method_title — Наименование которое будет отображаться в настройках а method_description описание плагина. Оно также будет отображаться в настройках плагина.

Интеграции в Woocommerce
Интеграции в Woocommerce

Активируйте плагин , перейдите на страницу Интеграция настроек WooCommerce и Вы увидите , что наш плагин уже существует и отображает всю информацию которую мы в него пока заложили. На этом закончим первую часть, в следующей части мы зарегистрируем нашего бота в телеграм, добавим в него настроек и подумаем над минимальным функционалом.

Спасибо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *