Php 在wordpress循环中仅显示一次类别名称

Php 在wordpress循环中仅显示一次类别名称,php,wordpress,Php,Wordpress,有没有办法在循环中保留我的“类别名称”,但在第一篇文章中只显示一次?并不是所有的帖子。我知道我可以把它排除在外,但我只是想知道这是否可能 <?php $args = array( 'post_type' => 'post', 'orderby' => 'date', 'order' => 'AS

有没有办法在循环中保留我的“类别名称”,但在第一篇文章中只显示一次?并不是所有的帖子。我知道我可以把它排除在外,但我只是想知道这是否可能

            <?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>    

我得到了正确的信息,但如果出于某种原因,父母的名字按字母顺序排在第二位,我得到的是父母的名字,而不是孩子的名字

先谢谢你


亲切的问候

您可以使用随循环自动增加的索引,以及仅在第一次迭代中使用
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>      

在循环内部:

<?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++
),因此在所有后续循环中,将忽略类别名称输出

试试这个它对我有用

                        <?php   if( get_the_title() ){
                        $tit = get_the_title();
                        $tit = substr(get_the_title(), 0, 35);
                        echo $tit.'...';
                        }?>


如果您发布当前输出和预期输出,那么很容易根据您的答案关联我的帖子,i=2、i=3、i=4,依此类推,所有帖子都会获得标题。如果超出我设置的循环,我的帖子会得到i=1、i=2和i=3,只有第一篇帖子没有标题。我想我们很近了,但还是有点迷路。你能帮忙吗哎呀,很抱歉,这是一个错误的想法-我现在将其更改为if条件下的
echo
,而不是
get_the_category()标签…是的,你是对的!这起作用了:)。谢谢如果可能的话,您能告诉我如何始终获取子类别名称,因为“$category[1]->cat_name”仅在父类别是第一个类别时获取子类别名称,但在某些情况下,父类别是第二个类别,因为我认为wordpress按字母顺序排序类别。