WooCommerce — один из самых популярных плагинов для электронной коммерции на WordPress. Часто в интернет-магазинах требуется гибко вставлять различные элементы каталога, корзины или оформления заказа в страницы и посты. Для этого WooCommerce предоставляет набор встроенных шорткодов, которые можно использовать без дополнительного кода и плагинов.
Что такое шорткоды в WooCommerce и зачем они нужны
Шорткод — это простой тег в формате [shortcode], который WordPress заменяет на динамический контент при отображении страницы. WooCommerce расширяет функционал стандартных шорткодов своими, ориентированными на задачи интернет-магазина:
- вывод продуктов и категорий;
- отображение корзины и оформления заказа;
- показ страницы аккаунта пользователя;
- и многое другое.
С помощью шорткодов можно быстро интегрировать функционал магазина в любые части сайта, не прибегая к сложным настройкам или программированию.
Основные встроенные шорткоды WooCommerce
Рассмотрим самые часто используемые шорткоды и их параметры.
1. Вывод страницы магазина
Шорткод [woocommerce_shop] редко используется напрямую, так как WooCommerce автоматически назначает страницу магазина. Но если нужно вывести каталог товаров в любом месте, можно использовать:
[products limit="8" columns="4" orderby="popularity" order="desc"]
Этот шорткод выведет 8 товаров в 4 колонки, отсортированных по популярности.
2. Отображение корзины
Для вывода содержимого корзины в любом месте сайта используется:
[woocommerce_cart]
Это полезно, например, для создания пользовательских страниц с корзиной или встраивания корзины в боковую панель.
3. Страница оформления заказа
Шорткод [woocommerce_checkout] выводит форму оформления заказа. Можно создать отдельную страницу и вставить этот шорткод для удобства пользователей.
4. Страница аккаунта пользователя
Шорткод [woocommerce_my_account] выводит личный кабинет пользователя, где он может просматривать заказы, редактировать данные и менять пароль.
Дополнительные шорткоды для вывода товаров и категорий
WooCommerce также предлагает шорткод [products] с множеством параметров, позволяющих гибко настраивать вывод товаров.
limit– количество товаров;columns– число колонок;orderby– сортировка (date, popularity, rating, price и т.д.);order– направление сортировки (asc или desc);category– вывод товаров из конкретной категории;tag– фильтрация по тегу.
Пример вывода 6 товаров из категории «aksessuary»:
[products limit="6" columns="3" category="aksessuary" orderby="date" order="desc"]
Как создать собственный шорткод для WooCommerce с помощью PHP
Иногда встроенных шорткодов недостаточно и нужно сделать свой, например, для вывода товаров по кастомным условиям. Рассмотрим пример создания шорткода [wp-lessons_featured_products], который выводит избранные товары.
function wp_lessons_featured_products_shortcode($atts) {
$atts = shortcode_atts(array(
'limit' => 4
), $atts, 'wp-lessons_featured_products');
$args = array(
'post_type' => 'product',
'posts_per_page' => intval($atts['limit']),
'meta_key' => '_featured',
'meta_value' => 'yes'
);
$query = new WP_Query($args);
if (!$query->have_posts()) {
return '<p>Избранные товары не найдены.</p>';
}
$output = '<ul class="wp-lessons-featured-products">';
while ($query->have_posts()) {
$query->the_post();
global $product;
$output .= '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a> - ' . wc_price($product->get_price()) . '</li>';
}
wp_reset_postdata();
$output .= '</ul>';
return $output;
}
add_shortcode('wp-lessons_featured_products', 'wp_lessons_featured_products_shortcode');
Вставьте этот код в файл functions.php вашей темы или в плагин. После этого на любой странице можно использовать [wp-lessons_featured_products limit="5"] для вывода 5 избранных товаров.
Какие плагины помогут расширить возможности шорткодов в WooCommerce
Если встроенных шорткодов недостаточно, можно использовать специализированные плагины:
- ABC Pagination — позволяет создавать пагинацию для шорткодов с товарами;
- WPRemark — расширяет возможности комментариев и отзывов в WooCommerce;
- Quizle — для создания викторин и опросов, которые можно встраивать через шорткоды.
Эти инструменты помогут сделать магазин более интерактивным и удобным для клиентов.
Советы по отладке и оптимизации шорткодов WooCommerce
При работе с шорткодами важно следить за производительностью. Запросы к базе данных должны быть оптимизированы, особенно если шорткод выводит большое количество товаров.
Используйте кэширование результатов, если это возможно, например, с помощью Transients API WordPress.
Также проверяйте, чтобы параметры шорткодов были валидными и не приводили к ошибкам. Для этого в функции шорткода используйте shortcode_atts и проверяйте входные данные.
Если выводите сложные списки товаров, подумайте о пагинации или ограничении количества элементов на странице.