有没有办法保留我的"类别名称"在循环中,但第一篇文章只显示一次?而不是所有的帖子。我知道我可以把它排除在循环之外,但只是想知道这是否可行。
<?php
$args = array(
'post_type' => 'post',
'orderby' => 'date',
'order' => 'ASC',
'cat' => 19
);
$catg = new WP_Query($args);
?>
<?php if($catg->have_posts()) : ?>
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 lock">
<?php while($catg->have_posts()) : $catg->the_post() ?>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 lock">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<?php
$category = get_the_category();
?>
<h2 style="text-transform: uppercase;"><?php echo $category[1]->cat_name; ?></h2>
</div>
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 lock">
<a href="<?php echo get_permalink( $post->ID ); ?>" class="topico1-link-c">
<div class="topico3-col2-c cursos-margem-direita col-xs-12 col-sm-12 col-md-12 col-lg-12" style="padding-left: 0px;">
<div class="topico1-img col-xs-12 col-sm-12 col-md-12 col-lg-12 lock">
<img src="<?php echo wp_get_attachment_url(get_post_thumbnail_id($post->ID)); ?>">
<div class="imagem-pelicula"></div>
</div>
<div class="topico1-title col-xs-12 col-sm-12 col-md-12 col-lg-12">
<h3 class="h3-low-c"><?php echo get_the_title(); ?></h3>
</div>
</div>
</a>
</div>
</div>
<?php endwhile ?>
<?php endif ?>
</div>
还有办法获取子类别名称吗?当我尝试这个:
<?php
$category = get_the_category();
?>
<h2 style="text-transform: uppercase;"><?php echo
$category[1]->cat_name; ?></h2>
我得到了正确的信息,但如果由于某种原因,父名称按字母顺序排在第二位,我得到的是父姓,而不是孩子。
提前谢谢。
亲切的问候!
答案 0 :(得分:0)
您可以使用随循环自动增加的索引,以及仅在第一次迭代时使用if
条件:
循环之前:
<?php $i = 1; ?>
循环内部:
<?php
$category = get_the_category();
?>
<h2 style="text-transform: uppercase;">
<?php
if($i == 1) {
echo $category[1]->cat_name;
}
$i++;
?>
</h2>
$i == 1
仅在第一次正确时(然后索引增加$i++
),因此在所有后续循环周期中,类别名称输出将被省略。
答案 1 :(得分:0)
尝试一下,它对我有用
<?php if( get_the_title() ){
$tit = get_the_title();
$tit = substr(get_the_title(), 0, 35);
echo $tit.'...';
}?>