Выводим товары в WooCommerce по тегам

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Сегодня мы предложим вам быстрый способ вывода товаров в WooCommerce по тегам с помощью простого шорткода. Для этого просто поместите следующий шорткод на вашу страницу:

[woo_products_by_tags tags="shoes,socks"]

Можно оформить это все в виде плагина. Просто скопируйте и вставьте код ниже в новый файл под названием “woocommerce-products-by-tags.php” в папку “wp-content/plugins/woocommerce-products-by-tags”.

<?php
/**
* Plugin Name: WooCommerce - List Products by Tags
* Plugin URI: http://www.remicorson.com/list-woocommerce-products-by-tags/
* Description: Выводим товары в WooCommerce по тегам с помощью шорткода, например: [woo_products_by_tags tags="shoes,socks"]
* Version: 1.0
* Author: Remi Corson
* Author URI: http://remicorson.com
* Requires at least: 3.9
* Tested up to: 3.9
*
* Text Domain: -
* Domain Path: -
*
*/
 
/*
* Выводим товары в WooCommerce по тегам
*
* пример: [woo_products_by_tags tags="shoes,socks"]
*/
function woo_products_by_tags_shortcode( $atts, $content = null ) {
// Получаем свойства
extract(shortcode_atts(array(
"tags" => ''
), $atts));
ob_start();
 
// Определяем параметры запроса
$args = array(
'post_type' => 'product',
'posts_per_page' => 5,
'product_tag' => $tags
);
// Создаем новый запрос
$loop = new WP_Query( $args );
// Получаем количество товаров
$product_count = $loop->post_count;
// Если результат
if( $product_count > 0 ) :
echo '<ul class="products">';
// Начало цикла
while ( $loop->have_posts() ) : $loop->the_post(); global $product;
global $post;
echo "<p>" . $thePostID = $post->post_title. " </p>";
if (has_post_thumbnail( $loop->post->ID ))
echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog');
else
echo '<img src="'.$woocommerce->plugin_url().'/assets/images/placeholder.png" alt="" width="'.$woocommerce->get_image_size('shop_catalog_image_width').'px" height="'.$woocommerce->get_image_size('shop_catalog_image_height').'px" />';
endwhile;
echo '</ul><!--/.products-->';
else :
_e('Товаров, удовлетворяющих заданные условия поиска, не найдено.');
endif; // endif $product_count > 0
return ob_get_clean();
 
}
 
add_shortcode("woo_products_by_tags", "woo_products_by_tags_shortcode");

По всем вопросам и отзывам просьба писать в комментарии ниже.

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

VN:F [1.9.22_1171]
please wait…
Rating: 4.0/5 (9 votes cast)
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии