Как установить и настроить WooCommerce для интернет-магазина на WordPress

Введение в WooCommerce: почему это лучший выбор для интернет-магазина на WordPress

WooCommerce — это самый популярный плагин для создания интернет-магазина на базе WordPress. Он бесплатен, имеет огромный функционал и множество расширений. Благодаря открытой архитектуре WordPress и WooCommerce можно создать магазин любой сложности — от простой витрины до полноценного маркетплейса.

В этой статье мы подробно рассмотрим, как правильно установить и настроить WooCommerce, чтобы ваш магазин работал стабильно и эффективно. Кроме того, приведём примеры кода для добавления уникальных функций и интеграций.

Установка WooCommerce: пошаговая инструкция

Для начала зайдите в админ-панель WordPress, в разделе «Плагины» нажмите «Добавить новый» и в поиске введите «WooCommerce». После этого нажмите кнопку «Установить», а затем «Активировать».

После активации плагина откроется мастер настройки, который поможет задать основные параметры магазина: валюта, местоположение, типы товаров и способы оплаты.

Если вы пропустили мастер, его всегда можно запустить повторно в настройках WooCommerce.

Базовая настройка WooCommerce: что важно учесть

Настройка валюты и налогов

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

Вкладка «Налоги» позволяет включить и настроить налоговые ставки — например, НДС. Для России можно задать 20% НДС и указать, что цены вводятся с учётом налога или без.

Настройка способов оплаты

В WooCommerce есть встроенные методы оплаты: банковский перевод, оплата при получении, PayPal и другие. Чтобы добавить, например, оплату через Яндекс.Кассу или Stripe, нужно установить соответствующие плагины.

Для примера подключим оплату через банковский перевод (BACS):

add_filter('wp_team_woocommerce_bacs_enable', '__return_true');

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

Настройка способов доставки

Раздел WooCommerce > Настройки > Доставка позволяет создать зоны доставки, указать стоимость и методы. Можно задать бесплатную доставку при заказе от определённой суммы или фиксированную плату.

Для гибкости можно использовать расширения, например, для расчёта стоимости доставки по весу или расстоянию.

Добавление и управление товарами в WooCommerce

Типы товаров и их особенности

WooCommerce поддерживает несколько типов товаров: простой, групповой, внешний/партнёрский и вариативный. Вариативный товар позволяет создать несколько вариантов — например, разные цвета и размеры с разной ценой.

Чтобы добавить товар, зайдите в раздел «Товары» > «Добавить новый». Заполните название, описание, цену и изображения.

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

Иногда нужно добавить свои поля, например, сертификат или дополнительную информацию. Для этого используем хук woocommerce_product_options_general_product_data и сохраняем данные:

add_action('woocommerce_product_options_general_product_data', 'wp_team_add_custom_product_field');
function wp_team_add_custom_product_field() {
    woocommerce_wp_text_input(
        array(
            'id' => '_wp_team_custom_field',
            'label' => __('Дополнительная информация', 'wp-team'),
            'desc_tip' => 'true',
            'description' => __('Введите дополнительную информацию для товара', 'wp-team')
        )
    );
}

add_action('woocommerce_process_product_meta', 'wp_team_save_custom_product_field');
function wp_team_save_custom_product_field($post_id) {
    $custom_field_value = isset($_POST['_wp_team_custom_field']) ? sanitize_text_field($_POST['_wp_team_custom_field']) : '';
    update_post_meta($post_id, '_wp_team_custom_field', $custom_field_value);
}

Этот код добавит текстовое поле в настройки товара и сохранит его значение.

Оптимизация и безопасность WooCommerce магазина

Кэширование и ускорение загрузки

Для увеличения скорости работы магазина используйте плагины кэширования, например, WP Rocket или W3 Total Cache. Они уменьшают нагрузку на сервер и ускоряют загрузку страниц.

Также стоит оптимизировать изображения через плагины типа Smush или Imagify, чтобы не тормозить магазин.

Обеспечение безопасности

WooCommerce — это коммерческий ресурс, поэтому безопасность — приоритет. Используйте SSL-сертификат, обеспечьте регулярное обновление WordPress, плагинов и тем.

Для защиты от взломов рекомендуются плагины безопасности, например, Wordfence или iThemes Security. Они помогут отследить подозрительную активность и заблокировать атаки.

Расширение функционала WooCommerce: полезные плагины и советы

Рекомендации по плагинам

  • WooCommerce Subscriptions — для создания подписок и регулярных платежей.
  • WooCommerce Bookings — для бронирования услуг.
  • Yoast SEO — для оптимизации сайта под поисковые системы.
  • Advanced Custom Fields — для удобного добавления и управления дополнительными полями.

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

Можно создать свой виджет, который будет выводить избранные товары магазина. Вот пример кода для такого виджета:

class WP_Team_Favorite_Products_Widget extends WP_Widget {
    public function __construct() {
        parent::__construct(
            'wp_team_favorite_products',
            __('Избранные товары', 'wp-team'),
            array('description' => __('Выводит избранные товары WooCommerce', 'wp-team'))
        );
    }

    public function widget($args, $instance) {
        echo $args['before_widget'];
        if (!empty($instance['title'])) {
            echo $args['before_title'] . apply_filters('widget_title', $instance['title']) . $args['after_title'];
        }

        $favorites = get_posts(array(
            'post_type' => 'product',
            'meta_key' => '_wp_team_favorite',
            'meta_value' => 'yes',
            'posts_per_page' => 5
        ));

        if ($favorites) {
            echo '<ul>';
            foreach ($favorites as $product) {
                echo '<li><a href="' . get_permalink($product->ID) . '">' . get_the_title($product->ID) . '</a></li>';
            }
            echo '</ul>';
        } else {
            echo '<p>Избранных товаров нет.</p>';
        }

        echo $args['after_widget'];
    }

    public function form($instance) {
        $title = !empty($instance['title']) ? $instance['title'] : __('Избранные товары', 'wp-team');
        ?>
        <p>
            <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Заголовок:', 'wp-team'); ?></label> 
            <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>">
        </p>
        <?php 
    }

    public function update($new_instance, $old_instance) {
        $instance = array();
        $instance['title'] = (!empty($new_instance['title'])) ? strip_tags($new_instance['title']) : '';
        return $instance;
    }
}

function wp_team_register_favorite_products_widget() {
    register_widget('WP_Team_Favorite_Products_Widget');
}
add_action('widgets_init', 'wp_team_register_favorite_products_widget');

Этот виджет выводит список товаров, у которых в мета-данных _wp_team_favorite стоит значение yes. Вы можете отмечать товары, добавляя это мета поле.

Автоматизация создания копий безопасности WordPress: практические решения от WP-Team
29.11.2025
Как использовать WPRemark для массового комментирования и управления отзывами в WordPress
15.01.2026
Как правильно добавить noindex для отдельных страниц WordPress
16.12.2025
Динамическая фильтрация таксономий в WordPress: решение и примеры кода
10.12.2025
Как использовать AJAX в WordPress для динамического обновления контента
03.12.2025