WordPress — записи из той же рубрики

Чтобы вывести в одной записи еще список нескольких записей из той же рубрики, используем код:

<ul>
<?php
$category = get_the_category(); 
$catcat = $category[0]->cat_ID;
$postidid = get_the_ID();
?>
<?php $news = new WP_query(); $news->query('showposts=5&cat='.$catcat.'&post__not_in[]='.$postidid.''); ?>
<?php while ($news->have_posts()) : $news->the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>

Еще вариант:

<h3>Похожие статьи:</h3>
<?php
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;

$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'showposts'=>5, // Number of related posts that will be shown.
'caller_get_posts'=>1
);
// Rest is the same as the previous code
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
}
echo '</ul>';
}
wp_reset_query();
}
?>

На основе тегов:

<?php $tag_ids = wp_get_post_tags( $post->ID, array( 'fields' => 'ids' ) );
$args = array(
	'showposts' => '2',
	'tag__in' => $tag_ids,
	'post__not_in' => array( $post->ID )
);
$news = new WP_query(); $news->query($args); ?>
<?php while ($news->have_posts()) : $news->the_post(); ?>
<div><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></div>
<?php endwhile; ?>

 

Запись опубликована в рубрике php, WordPress с метками , . Добавьте в закладки постоянную ссылку.

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

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