Здравствуйте, на странице с карточкой товара есть раздел похожие продукты, сейчас там товары выводятся по похожим тегам, и выводимый товар не соответствует тому который должен быть. Поэтому я решил нужно сделать вывод по категории.
Код который выводит по тегам(исходный)
<?php
/*
Template Name Posts: tovar
*/
?>
<?php get_header();?>
<?php if (function_exists('dimox_breadcrumbs')) dimox_breadcrumbs(); ?>
<div class=br_triangle> </div>
<div class="main-heading">
<h1><?php the_title(); ?>
<br>
<iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo urlencode(get_permalink($post->ID)); ?>&layout=standard&show_faces=false&
width=450&action=like&colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:60px;">
</iframe></h1>
</div>
<section>
<?php while (have_posts()): the_post();?>
<div class="slider_tovar"><?php the_content();?></div>
<div class="body_tovar">
<div id=share_line><span>SHARE</span><?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar("share_line") ) : ?>
<?php endif; ?>
<!-- </div> *он стоит, но не здесь (для <div id=share_line>)-->.
<div class=post_tags><?php the_tags(' ',',',' '); ?></div>
<br>
<div class=project_title> Описание проекта</div>
<?php the_content();?>
<div class="fb-comments" data-href="<?php the_permalink(); ?>" data-numposts="5" data-colorscheme="light"></div>
</div>
<?php endwhile; ?>
<div class="body_sidebar">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar("tovar_menu") ) : ?>
<?php endif; ?>
</div></div>
<div id=slider_funk>
<div id="owl-demo5" class="owl-carousel">
<?php $tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids, // Сортировка происходит по тегам (меткам)
'orderby'=>rand, // Условие сортировки рандом
'post__not_in' => array($post->ID),
'showposts'=>16, //Количество выводимых записей
'caller_get_posts'=>1); // Запрещаем повторение ссылок
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<div class="item"><a href="<?php the_permalink();?>" >
<span class="owl-title"><p><?php the_title(); ?></p></span>
<?php the_post_thumbnail(array(270,270),'thumb'); ?></a></div>
<?php
}
}
}
?>
</div>
<div id="slider5"></div>
<div style="margin-bottom: 3em;">
<h4 style="margin: -0.875em 0 0;">Похожие продукты</h4>
</div>
</div>
</section>
<?php get_footer(); ?>
Функция которая отвечает за выборку товаров после попыток изменить под вывод по категориям
<?php $cat = wp_get_post_tags($post->ID);
if ($cat) {
$cat_ids = array();
foreach($cat as $individual_tag) $cat_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $cat_ids, // Сортировка происходит по тегам (меткам)
'orderby'=>rand, // Условие сортировки рандом
'post__not_in' => array($post->ID),
'showposts'=>16, //Количество выводимых записей
'caller_get_posts'=>1); // Запрещаем повторение ссылок
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) {
$my_query->the_post();
?>
а когда вместо tag__in ставил category__in вообще этот блок пропадал! Вот
документация которую я читал.