Выводим Товары В WooCommerce По Тегам
Для этого сформируем мини плагин, копируйте и вставьте код ниже в новый файл под названием “woocommerce-products-by-tags.php” в папку “wp-content/plugins/woocommerce-products-by-tags”.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
<?php /** * Plugin Name: WooCommerce - List Products by Tags * Plugin URI: http://woocommerce-russian.ru/vyvodim-tovary-v-woocommerce-po-tegam/ * Description: Выводим товары в WooCommerce по тегам с помощью шорткода, например: [woo_products_by_tags tags="shoes,book"] * Version: 1.0 * Author: DEN * Author URI: http://woocommerce-russian.ru * 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"); |
У нас появиться новый плагин в меню плагинов, активируем его
Теперь влюбом месте шаблона вставляем шорткод
[woo_products_by_tags tags="shoes,book"]
tags=»shoes,book» метки товаров
исправь в коде , «, ‘
»
), $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 »;
// Начало цикла
while ( $loop->have_posts() ) : $loop->the_post(); global $product;
global $post;
echo «» . $thePostID = $post->post_title. » «;
if (has_post_thumbnail( $loop->post->ID ))
echo get_the_post_thumbnail($loop->post->ID, ‘shop_catalog’);
else
echo ‘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 ‘‘;
else :
_e(‘Товаров, удовлетворяющих заданные условия поиска, не найдено.’);
endif; // endif $product_count > 0
return ob_get_clean();
}
add_shortcode(«woo_products_by_tags», «woo_products_by_tags_shortcode»);