Полное руководство по плагину WooCommerce с подробным объяснением кода: от установки до индивидуальной разработки.

3-минутное чтение
2026-03-16
2026-06-04
2,728
Я получаю комиссионные, когда вы совершаете покупки по ссылкам ниже, без дополнительных затрат для вас.

Установка и базовая настройка WooCommerce

Процесс установки WooCommerce действительно прост, однако правильная настройка на начальном этапе является основой для создания стабильного интернет-магазина. Во-первых, вам понадобится сервер, на котором работает PHP версии 7.4 или более, а также установлено WordPress. Через страницу “Плагины” → “Установить плагин” в меню WordPress выполните поиск по запросу “WooCommerce” и установите его. После активации плагина система автоматически запустит “Руководство по настройкам”, которое поможет вам выполнить основные настройки вашего магазина.

В мастере настройки вам необходимо выполнить следующие действия: указать местоположение магазина, валюту и единицы измерения; настроить способы оплаты (например, PayPal, Stripe или банковский перевод); установить правила расчета стоимости доставки (например, бесплатная доставка, фиксированная стоимость доставки или динамические тарифы в зависимости от веса/адреса); а также рекомендуется установить необходимые расширения, такие как WooCommerce Payments или плагины для локализации. После завершения мастера настройки вы попадете в панель основных настроек WooCommerce. Здесь есть несколько важных разделов, требующих тщательной настройки: в разделе “Общие” можно указать место продажи и расчет налогов; в разделе “Продукты” можно определить единицы измерения, комментарии к товарам и управление запасами; на странице “Оформление заказа” можно настроить все платежные шлюзы и процесс оформления заказа; а в разделе “Доставка” можно управлять зонами доставки, способами доставки и упаковкой товаров.

Одним из часто упускаемых, но крайне важных шагов является настройка постоянных ссылок. В разделе “Настройки” → “Фиксированные ссылки” в WordPress убедитесь, что не используется “простая” структура ссылок; рекомендуется использовать структуру, основанную на названии статьи или пользовательских параметрах – это способствует улучшению SEO-показателей страниц товаров. Кроме того, на вкладке “Расширенные настройки” в WooCommerce необходимо назначить соответствующие страницы WordPress для различных функциональных элементов сайта (кошик покупок, процесс оформления заказа, мой аккаунт и т. д.). Эти страницы автоматически создаются при установке плагина.

Рекомендуемое чтение Руководство по разработке на платформе WooCommerce: полный практический курс от начала до продвинутого уровня

Настройка базовой информации магазина

Настройки основной информации магазина в основном производятся в редакторе настроек WordPress и в обычных настройках плагина WooCommerce. Вам необходимо убедиться, что адрес магазина, электронная почта для обслуживания клиентов и номер телефона указаны правильно — эти данные будут отображаться в уведомлениях о заказах, на счетах-фактурах и в футере сайта. Кроме того, в разделе “Обычные настройки” под опцией “Валюты” можно задать формат валюты (например, китайский юань (¥123.00) или доллар США ($123.00)).

Ультахост (UltaHost) – хостинг-провайдер, предоставляющий услуги хостинга для сайтов, построенных на платформе WordPress.
Гарантия возврата средств в течение 30 дней, неограниченная пропускная способность интернет-канала и объем баз данных, бесплатная защита от DDoS-атак. При покупке на срок 3 лет предоставляется скидка в размере 501 ТБ до 4 ТБ.

Интеграция платежных и доставочных гейтвейнов

Платежные гейты являются жизненно важной составляющей электронной коммерции. В WooCommerce предусмотрено множество встроенных способов оплаты. WC_Gateway_BACS(Банковский перевод)WC_Gateway_CHEQUE(Платеж чеком) и WC_Gateway_COD(Оплата при получении товара). Чтобы включить такие расширенные платежные системы, как Stripe или PayPal, обычно необходимо установить отдельные плагины и настроить API-ключи. Например, при настройке Stripe в соответствующей странице необходимо ввести публичный ключ и секретный ключ системы.

Настройки доставки также играют важную роль. Вы можете создавать отдельные правила оплаты доставки для разных стран или регионов в разделе “Зоны доставки”. Например, для Китайского материка можно создать отдельную зону и настроить такие варианты доставки, как “Бесплатная доставка”, “Унифицированная ставка” или “Самовывоз”. Это позволяет удобно управлять условиями доставки для разных клиентов в зависимости от их местоположения. woocommerce_shipping_init Разработчики могут создавать совершенно пользовательски настроенные классы для обработки методов доставки.

Основные функции и управление данными

WooCommerce интегрирует все данные электронной коммерции в пользовательские типы статей и систему категоризации WordPress. Товары хранятся в виде… product Тип статьи, в то время как заказ соответствует… shop_order Типы статей. Понимание этой модели данных является предпосылкой для проведения сложных пользовательских настроек и разработок.

Управление продуктами является ключевым аспектом работы любого бизнеса. WooCommerce поддерживает четыре типа продуктов:simple(Простые продукты),grouped(Групповые продукты)external(Внешние/связанные продукты) и variable(Изменяемые товары) Изменяемые товары позволяют задавать различные характеристики (например, цвет, размер) для одного и того же товара, а также соответствующие им цены, количество в наличии и SKU (идентификатор товара). При редактировании товара в бэкенде используется ряд полей для метаданных, предназначенных для управления информацией о наличии товара на складе, ценах, статусе запасов, деталях доставки, а также связанной с товаром галереей изображений.

Рекомендуемое чтение Что такое WooCommerce и его основная архитектура?

База данных для управления заказами предоставляет полный обзор продаж. Каждый заказ содержит обширную метаданные. shop_order В постах хранится информация о клиентах, приобретенных товарах, ценах, статусе оплаты и истории комментариев к заказам. Управление статусами заказов играет ключевую роль; среди предустановленных статусов: pending(Ожидание оплаты),processing(В процессе обработки)on-hold(Пауза) И completed(Завершено). Теперь вы можете использовать это. wc_get_order_statuses Функция получает все значения состояний и передает их далее… woocommerce_register_shop_order_post_statuses Статус регистрации фильтра: пользовательский.

Управление типами и характеристиками продуктов

Атрибуты продуктов являются мощным инструментом для организации сложных каталогов товаров. Вы можете создавать глобальные атрибуты (например, “цвет” или “размер”) в разделе “Продукты” > “Атрибуты”. Затем, при редактировании вариативных продуктов, используйте эти атрибуты для формирования комбинаций атрибутов и задавайте отдельные значения для каждой комбинации (например, “красный – большой размер”). На уровне кода это можно реализовать следующим образом: WC_Product_Variable Класс и его… (The class and its…) get_available_variations() Существуют способы для получения и обработки информации о всех вариантах (вариантах реализации, вариантах данных и т. д.).

Обработка данных о заказах и клиентах

WooCommerce используется для создания и управления интернет-магазинами. WC_Order Класс предназначен для обработки данных заказов. С помощью этого класса вы можете программно создавать или обновлять заказы. Например, следующий код демонстрирует, как создать новый заказ и добавить к нему товары:

hosting.com Общий хостинг
Высокая производительность благодаря процессорам AMD EPYC, SSD-накопителям NVMe и LiteSpeed, круглосуточная экспертная поддержка, передовые меры безопасности, включая SSL, защиту от грубой силы, вредоносных программ и DDoS, экономия до 73%
// 创建一个新订单对象
$order = wc_create_order();

// 通过商品ID获取商品对象并添加到订单中
$product = wc_get_product(123);
$order->add_product($product, 2); // 数量为2

// 设置客户地址
$order->set_address(array(
    'first_name' => '张',
    'last_name'  => '三',
    'email'      => '[email protected]',
    'phone'      => '13800138000',
), 'billing');

// 计算总额并保存
$order->calculate_totals();
$order->save();

Клиентские данные связаны с пользователями WordPress.WP_UserГлубокая интеграция. WooCommerce позволяет это осуществить с помощью… wc_get_customer_order_count и wc_get_customer_total_spent Такие функции расширяют возможности пользователя.

Интеграция тем и переопределение шаблонов.

Степень интеграции WooCommerce с используемыми темами напрямую влияет на пользовательский опыт при работе с магазином. Система использует мощную систему шаблонов; все файлы, отвечающие за визуальное представление контента на сайте (такие как списки товаров, страницы отдельных товаров, корзина покупок), находятся в каталоге плагинов. /templates/ Эти шаблоны находятся в папке. Чтобы настроить их без изменения основных файлов плагина, вам необходимо заменить их на свои собственные внутри темы (theme).

Правильный способ действий следующий: в каталоге тем ваших мероприятий создайте файл с названием… woocommerce Файлы шаблонов WooCommerce, которые вы хотите изменить, необходимо скопировать из каталога плагинов в этот новый папку, а затем вносить изменения в эти копии. Например, чтобы изменить структуру страницы товара, вам потребуется скопировать соответствующий файл шаблона из каталога плагинов в новую папку и работать непосредственно с этой копией. plugins/woocommerce/templates/single-product.php до themes/your-theme/woocommerce/single-product.phpWooCommerce приоритетно загружает файлы шаблонов, находящиеся в используемом тематическом пакете.

Рекомендуемое чтение Полное руководство по созданию сайтов с использованием WooCommerce: создайте свою собственную электронную коммерческую империю с нуля

Помимо полного перезаписи всего файла, вы также можете использовать действия-хаки (Action Hooks) и фильтры-хаки (Filter Hooks) для вставки или изменения содержимого в определенных местах. Например,woocommerce_before_single_product_summary Хук выполняется перед информацией о кратком описании товара, что делает это местом идеальным для размещения пользовательских баннеров рекламы.

Структура файла пользовательского шаблона

Файлы шаблонов для WooCommerce имеют четкую иерархию. Возьмем, к примеру, цикл товаров (product loop).archive-product.php Это шаблон главной страницы магазина; он будет выполнять необходимые действия (например, загружать данные, отображать контент и т. д.). content-product.php Для отображения каждого товара необходимо использовать соответствующие файлы. Заменяя их, вы можете полностью изменить способ отображения товаров в списке: изменить их расположение (на сетку или в виде списка), а также добавить пользовательские значки (бэйджи).

Общий хостинг InterServer
Общий хостинг $2.50 USD в месяц, первый месяц $0.1 USD промо-код tryinterserver, 461 скрипт облачных приложений, установка в один клик.

Расширение функционала с помощью хуков

Хаки (hooks) являются основой расширений для платформы WooCommerce. Акционные хаки (action hooks) позволяют выполнять определенные действия, например, добавлять пользовательские информационные окна после таблицы корзины покупок:

add_action('woocommerce_after_cart_table', 'my_custom_cart_message');
function my_custom_cart_message() {
    echo '<div class="custom-notice">Посылка бесплатна при заказе на сумму от 500 юаней!</div>';
}

Фильтровые хаки позволяют вам “модифицировать” данные. Например, с их помощью… woocommerce_add_to_cart_fragments Фильтры могут динамически обновлять содержимое мини-кошика покупок:

add_filter('woocommerce_add_to_cart_fragments', 'update_mini_cart_count');
function update_mini_cart_count($fragments) {
    $fragments['div.cart-count'] = '<div class="cart-count">' . WC()-&gt;cart-&gt;get_cart_contents_count() . '</div>';
    return $fragments;
}

Практики продвинутого пользовательского настроения и разработки

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

Для создания пользовательских типов продуктов необходимо произвести расширение существующей системы. WC_Product Классы. Сначала вам необходимо определить новый класс, наследующийся от существующего класса, а затем зарегистрировать этот тип продукта. Например, создайте класс продукта под названием “Заказ”.

class WC_Product_Booking extends WC_Product {
    public function __construct($product) {
        parent::__construct($product);
        $this->product_type = 'booking';
    }
    // 在这里添加自定义方法和属性,如 get_booking_dates()
}
// 将新类注册到工厂
add_filter('woocommerce_product_class', 'register_booking_product_class', 10, 2);
function register_booking_product_class($classname, $product_type) {
    if ($product_type == 'booking') {
        $classname = 'WC_Product_Booking';
    }
    return $classname;
}

REST-API WooCommerce предоставляет мощные интерфейсы для мобильных приложений или внешних систем управления. С помощью этого API можно управлять практически всеми данными: товарами, заказами, клиентами и т. д. Для доступа к API необходимо сначала в разделе настройок WooCommerce (WooCommerce > Settings > Advanced > Legacy API) включить его и создать ключи доступа (Consumer Key и Consumer Secret). После этого можно использовать такие конечные точки (endpoints) для выполнения запросов:GET /wp-json/wc/v3/products Для получения списка продуктов.

Разработка пользовательского гейта

Кастомный платежный гейтвей – это расширенная версия стандартного платежного инструмента, предназначенная для обеспечения более удобных и гибких условий оплаты для пользователей. WC_Payment_Gateway Это PHP-класс. Вам необходимо в этом классе определить ID-идентификатор гейта, его название, описание, поля для обработки платежей, а также реализовать соответствующие методы. process_payment Методы для реализации логики оплаты. После завершения разработки необходимо провести… woocommerce_payment_gateways Фильтр добавляет его в список доступных гейтвейнов.

Интеграция с внешними сервисами через API

WooCommerce предоставляет множество хуков (hooks), которые позволяют интегрировать систему с ERP-, CRM- или логистическими системами. Например, когда статус заказа изменяется на “Завершено”, это вызывает соответствующую реакцию в других системах. woocommerce_order_status_completed Действие-хук (action hook). Вы можете привязать к этому хуку функцию, которая будет отправлять данные о заказах в вашу систему управления запасами.

add_action('woocommerce_order_status_completed', 'sync_order_to_erp');
function sync_order_to_erp($order_id) {
    $order = wc_get_order($order_id);
    $data = array(
        'order_id' => $order->get_id(),
        'total'    => $order->get_total(),
        // ... 准备其他数据
    );
    // 使用 wp_remote_post 将 $data 发送到外部 API
}

резюме

WooCommerce – это не просто плагин, а полнофункциональная и высоко расширяемая платформа для создания электронных магазинов. От простой установки и настройки до сложного пользовательского развития, WooCommerce предоставляет разработчикам бесконечные возможности благодаря четкой системе шаблонов, обширному набору инструментов для взаимодействия между различными компонентами системы («хаков» – Actions и Filters), а также объектно-ориентированной модели данных. Ключ к созданию успешного магазина на базе WooCommerce заключается в следующем: надежной настройке основных параметров системы для обеспечения ее стабильной работы; глубоком понимании моделей данных товаров и заказов; умелом использовании шаблонов и хаков для корректировки внешнего вида сайта; а также владении навыками интеграции пользовательских решений с помощью пользовательских классов, гетвейнов и API. Соблюдая эти рекомендации по лучшим практикам, вы сможете создать мощный, эффективный и полностью соответствующий бизнес-логике онлайн-магазин.

Часто задаваемые вопросы

Как изменить текст на кнопке “Добавить в корзину”?

Вы можете использовать woocommerce_product_add_to_cart_text Фильтр или… woocommerce_product_single_add_to_cart_text Фильтры используются для изменения текста на кнопках. Например, следующий код изменяет текст на кнопке на странице товара на “Купить сейчас”:

add_filter('woocommerce_product_single_add_to_cart_text', 'change_single_add_to_cart_text');
function change_single_add_to_cart_text() {
    return '立即购买';
}

Для архивной страницы (списка товаров) используйте следующий формат: woocommerce_product_add_to_cart_text Необходимо использовать фильтры, а также внутри функции определять тип продукта.

Как добавить пользовательские поля для определенной категории продуктов?

Вам необходимо использовать вместе функции для работы с категориями товаров в WooCommerce и API для работы с терминологическими метаданными в WordPress. Для начала выполните следующие шаги: product_cat_add_form_fields и product_cat_edit_form_fields Действия выполняются на странице добавления/редактирования категорий; в результате формируются необходимые выводимые поля. Затем эти поля используются для дальнейшей обработки данных. created_term и edit_term Выполните действия для сохранения значений полей. term_metaНаконец, вы можете использовать это в файле шаблона. get_term_meta Нужно получить и отобразить эту значение.

Почему изменения, внесённые в мою пользовательскую шаблонную систему, не вступили в силу?

Пожалуйста, выполните следующие шаги для устранения проблемы: во-первых, убедитесь, что вы скопировали файл шаблона в правильный путь темы.your-theme/woocommerce/ Во-первых, убедитесь, что плагин установлен в правильном месте (обычно это папка `wp-content/plugins`) и что его структура файлов совпадает со структурой шаблона оригинального плагина. Во-вторых, очистите все кэши: кэш браузера, кэш объектов WordPress, а также любой серверный кэш (например, OPcache). Наконец, проверьте свой тематический файл (theme file) на наличие возможных ошибок или несоответствий. functions.php Было ли правильно заявлено о поддержке платформы WooCommerce?add_theme_support('woocommerce');Если проблема сохраняется, попробуйте на время переключиться на стандартную тему (например, Storefront), чтобы исключить возможные проблемы с совместимостью тем.

Как создать переменный товар в WooCommerce с использованием программного кода?

Вам необходимо использовать… WC_Product_Variable Класс. Основные шаги следующие: создать объект продукта и задать его базовые свойства; создать и добавить глобальные свойства (например, цвета); для этих свойств сформировать конкретные комбинации (то есть варианты); в конце концов, для каждого варианта создать отдельный объект. WC_Product_Variation Объекту необходимо задать такие уникальные свойства, как цена и наличие на складе, а затем связать его с основным продуктом. Это многоступенчатый процесс, который обычно включает в себя следующие шаги: wp_set_object_terms, set_attributes, и save и другие методы.