当a循环运行时,我可以让每个新帖子都获取自己的HTML类吗?
例如,循环运行第一项获取class="first"
第二项获取class="second"
等等或者每个帖子都有一个相同的编号class=
1、2、3、4等。
我刚刚使用CSSnth-child()
以每个新项目为目标。
index.php (这里是循环调用,get\\u template\\u part使用循环内容拉取content.php)
```
<?php $the_query = new WP_Query( array(\'post_type\'=>\'post\', \'post_status\'=>\'publish\', \'posts_per_page\'=>5, \'paged\'=>$paged) ); ?>
<?php if ( $the_query->have_posts() ) : ?>
<?php $counter = 1; ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<?php get_template_part( \'content\', get_post_format() ); ?>
```
content.php (这是我要添加类的循环的内容开头)
```
<?php include(locate_template(\'index.php\')); ?>
<?php $counter++; ?>
<article id="post-<?php the_ID(); ?>" <?php post_class( \'inline-post-\' . $counter ); ?>>
```
最合适的回答,由SO网友:bynicolas 整理而成
你可以使用post_class
在循环内。
<?php post_class( \'myclass-here\'); ?>
这将添加必要的HTML
class=""
和WP默认类以及您的新
myclass-here
班
然后可以使用循环中的计数器向post类添加唯一的后缀
// Outside the loop initialize your counter
$counter = 1;
。
// Then in the loop
<?php post_class( \'myclass-here-\' . $counter ); $counter++; ?>
EDIT
好的,考虑到你问题中的新信息,方法是
set a query var 该变量现在可以在模板部分使用。
index.php
在这里,您可以在调用之前设置查询变量
get_template_part()
然后你会增加它。您仍然必须在循环外初始化
$counter
当然看起来像这样
<?php set_query_var( \'counter\', $counter ); ?>
<?php get_template_part( \'content\', get_post_format() ); $counter++; ?>
然后在你的
content.php 文件,则只需调用变量
$counter
<article id="post-<?php the_ID(); ?>" <?php post_class( \'inline-post-\' . $counter ); ?>>
不要增加
$counter
在您的
content.php 文件,不包括
locate_template()
任何一个