计算循环wordpress

时间:2016-03-09 20:30:49

标签: php jquery wordpress loops foreach

在我的类别页面上,我将每个帖子显示为li。我想为每个li分配一个ID从1开始并递增计数(即如果一个类别有10个帖子,则输出为ul,每个li的id为1到10的数字。我将如何实现这一目标?

category.php:

<?php
/**
 * The template for displaying category pages.
 **/

get_header(); 
$counter = 0;?>

    <div id="primary" class="content-area">
        <main id="main" class="site-main" role="main">

        <?php
                if ( have_posts() ) : ?>
                    <header class="page-header">
                <?php
                    the_archive_title( '<h1 class="page-title">', '</h1>' );
                    the_archive_description( '<div class="taxonomy-description">', '</div>' );
                ?>
                    </header><!-- .page-header -->
                        <div class="slider-cont">
                        <div class="slider-nav">
                            <i class="fa fa-chevron-left"></i>
                        </div>
                        <div id="slider">
                        <ul class="slides">

            <?php
            /* Start the Loop */

            while ( have_posts() ) : the_post();
                        $counter++;

                /*
                 * Include the Post-Format-specific template for the content.
                 * If you want to override this in a child theme, then include a file
                 * called content-___.php (where ___ is the Post Format name) and that will be used instead.
                 */
                get_template_part( 'template-parts/content-category', get_post_format() );

            endwhile;?>
                        </ul>
                        </div>
        <div class="slider-nav next">
            <i class="fa fa-chevron-right"></i>
        </div>
            <?php the_posts_navigation();

        else :

            get_template_part( 'template-parts/content', 'none' );

        endif; ?>
                    </div><!-- .slider-cont -->
        </main><!-- #main -->
    </div><!-- #primary -->

和content-category.php:

<?php
get_footer();

<li class="slide" id="post<?php $counter; ?>">
    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
            <header class="entry-header">
                    <h2><?php echo the_title();
                    if ( 'post' === get_post_type() ) : ?></h2>
                    <?php
                    endif; ?>
            </header><!-- .entry-header -->

            <div class="entry-content">
                    <?php echo the_excerpt();?>
                     <a href="<?php echo the_permalink();?>">Read More.</a>
            </div><!-- .entry-content -->
    </article><!-- #post-## -->
</li>

提前致谢!

2 个答案:

答案 0 :(得分:0)

在循环之前添加:

<? $counter = 0;?>

然后在li之前的循环中添加:

<? $counter++;?>

并将li更改为:

<li class="slide" id="post<?= $counter;?>">

答案 1 :(得分:0)

get_footer();方法错误。

将其从 content-category.php 移至 category.php

的末尾