我使用以下代码在当前帖子页面上显示来自同一类别的帖子:
<?php
global $post;
$categories = get_the_category();
$ceker=false;
foreach ($categories as $category[0]) {
if ($ceker == false){
$ceker=true;
?>
<h3 class="naslovostalih">Other posts from this category:</h3>
<ul class="clanciostalih">
<?php
$args = array(
'numberposts' => 10,
'category' => $category[0] -> term_id,
'exclude' => $post->ID
);
}
$posts = get_posts($args);
foreach($posts as $pz) { ?>
<li>
<?php
$title = $pz->post_title;
$link = get_permalink($pz->ID);
printf('<a class="linkpost" title="%s" href="%s">%s</a>', $title, $link, $title);
echo get_the_post_thumbnail($pz->ID, 'thumb-232');
echo '<div id="excerptcu">';
$pz = $pz->post_excerpt;
if (strlen($pz) > 160) {
$pz = substr($pz,0,strpos($pz,' ',160)); } ;
$pz = $pz . ' ...';
echo apply_filters('the_excerpt',$pz);
echo '</div>';
?>
<p class="more-link-wrapper2"><?php printf('<a class="read-more button" title="%s" href="%s">Opširnije</a>', $title, $link, $title);?></p>
</li>
<?php } // end foreach ?>
<?php } // end if ?>
</ul>
它几乎完美,但问题是其他帖子加倍,所以我有这种输出:
POST1(在暴风雪和欧洲类别中)
POST1的内容
此类别的其他帖子:(应该只收集第一类的帖子,即暴风雪)
POST2
Post3
Post4
POST2
Post3
Post4
所以&#34;其他帖子&#34;加倍,我无法弄明白为什么。
有什么想法吗?
答案 0 :(得分:0)
Foreach是问题所在。第一个。我设法通过在关闭foreach之后添加break命令来解决问题。