Как подготовить WordPress тему к плагину WooCommerce

Как подготовить WordPress тему к плагину WooCommerce

От автора: вы захотели добавить в тему магазин – замечательно! WordPress WooCommerce – отличный выбор. Чисто технически, ВСЕ темы совместимы с WooCommerce, ведь это просто плагин. Чисто теоретически, любой плагин должен работать с любой темой WordPress (хорошо скроенной).

Со стороны разработчика тем вы, возможно, хотели бы лучше подогнать WooCommerce к теме или обеспечить опции для конечного пользователя, которых нет в стандартных настройках WooCommerce (например, изменение количества столбцов в магазине). Ниже вы найдете немного полезного кода, с помощью которого можно «улучшить» поддержку WooCommerce в теме и/или изменить что-то под свой дизайн.

Важно: многие куски кода ниже используют функции, доступные только в WooCommerce. Убедитесь, что этот код не просто сброшен в конец functions.php в теме. Если вы собираетесь распространять свою тему или продавать, то необходимо поместить весь код в своих файлах и загружать их только при активности плагина WooCommerce.

Проверяем активность WooCommerce

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

WooCommerce: Быстрый старт, первые результаты

Создайте ваш интернет-магазин на WooCommerce с полного нуля уже сегодня!

Узнать подробнее

Объявляем поддержку WooCommerce

Это первый и самый важный код, который необходимо добавить в тему – он «включает» поддержку WooCommerce и прячет предупреждения от плагина, которые говорят пользователю, что тему не совместима.

Удаляем WooCommerce CSS

Лично я лучше перепишу стили WooCommerce, чтобы избежать всех возможных проблем со сторонними WooCommerce плагинами. Однако если вы хотите удалить все стили WooCommerce, сделать это очень просто.

Следующий код удаляет ВСЕ стили WooCommerce:

Код ниже – пример условного удаления определенных стилей:

Включаем WooCommerce галерею товаров, Zoom и LightBox (v3.0+)

В WooCommerce 3.0 была представлена новая галерея товаров, zoom и lightbox. Все это активируется через «add_theme_support», если хотите использовать их в теме.

Удаляем заголовок магазина

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

Меняем архивный заголовок магазина

Если ваша тема использует функции archive_title() или get_archive_title() для отображения заголовка в архивах, то вы можете с легкостью заменить его с помощью фильтра. Вы можете вставить свое название страницы товаров вместо архивного заголовка.

Меняем количество товаров, отображаемых на странице магазина

Используется для изменения количества товаров, отображаемых за раз на странице магазина и архивов товаров (категории и теги).

WooCommerce: Быстрый старт, первые результаты

Создайте ваш интернет-магазин на WooCommerce с полного нуля уже сегодня!

Узнать подробнее

Меняем количество колонок, отображаемых в магазине

Не понимаю, почему WooCommerce так работает, но вы не можете просто так изменить фильтр loop_shop_columns. Нужно добавить уникальные классы в тег body, чтобы колонки заработали. В шорткодах Woo есть div с подходящими классами, которых нет на страницах магазина, поэтому нам понадобятся 2 функции.

Меняем стрелки постраничной навигации (назад, вперед)

Этот код меняет стрелки постраничной навигации в магазине, чтобы они лучше подходили под вашу тему.

Меняем текст бейджа OnSale

Особенно полезно на сайтах использовать разные языки или удалять восклицательные знаки – я не очень их люблю.

Меняем колонки миниатюр в галерее товаров

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

Меняем количество сопутствующих товаров

Используется для изменения количества сопутствующих товаров на странице одного товара.

Меняем количество колонок для секций сопутствующих товаров и дополнительных продаж

Если хотите правильно менять количество колонок для секций сопутствующих и дополнительных продаж на странице одного товара и нескольких, вам необходимо отфильтровать колонки и сменить классы body.

Добавляем динамическую ссылку на корзину и стоимость корзины в меню

Код ниже добавит корзину WooCommerce в меню, где отображается цена товаров. Также если у вас есть шрифт Font-Awesome, он отобразит маленькую иконку корзины. Важно: эти функции нельзя заворачивать в условие is_admin(), так как они работают с AJAX для обновления стоимости. Необходимо знать, что функции доступны, когда is_admin() возвращает true и false.

Заключение

WooCommerce будет работать с любой темой по умолчанию, но нет ничего сложного в том, чтобы немного улучшить поддержку плагина, чтобы он лучше вписывался в тему. Я писал эту статью, пока кодил нашу тему New York WordPress Blog & Shop, т.е. большая часть твиков включена в нашу тему. Если хотите, можете купить тему, чтобы посмотреть, как все сделано (см. файлы в wpex-new-york/inc/woocommerce). На примере, возможно, будет легче изучить, как правильно добавлять кастомную поддержку плагина WooCommerce.

А вы знаете, какой код можно добавить в этот список, или он был бы полезен при разработке новой темы для WooCommerce?

Автор: AJ Clarke

Источник: http://www.wpexplorer.com/

Редакция: Команда webformyself.

WooCommerce: Быстрый старт, первые результаты

Создайте ваш интернет-магазин на WooCommerce с полного нуля уже сегодня!

Узнать подробнее

Интернет-магазин на WooCommerce

Создание магазина с уникальным шаблоном на CMS WooCommerce

Научиться

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Я не робот.

Spam Protection by WP-SpamFree