按后计数设置循环中的div列

时间:2015-08-28 作者:rudtek

我试图根据循环中返回的帖子数量,将自定义帖子类型中的图像发布到列中。这是我的代码:

<?php 
// args  
$args = array(
    \'numberposts\'   => -1,
    \'post_type\'     => \'sponsor\',
    \'meta_key\'      => \'sponsor_headline\',
    \'meta_value\'    => \'Partner\'
);
// query
$the_query = new WP_Query( $args );

?>
<?php if( $the_query->have_posts() ): ?> <h1>Partners<h1><hr>
    <?php while( $the_query->have_posts() ) : $the_query->the_post();
if($post_count=1){
echo \'<div class="flex_column av_one_fifth flex_column_div"></div><div class="flex_column av_one_fifth flex_column_div"></div><div class="flex_column av_one_fifth flex_column_div"><a target="_blank" href="\'.get_field(\'sponsor_url\').\'"><img src=\'. get_field(\'sponsor_logo\').\' alt="" /></a></div><div class="flex_column av_one_fifth flex_column_div"></div><div class="flex_column av_one_fifth flex_column_div"></div>\'; 
} elseif($post_count=2) {
echo \'2;
} elseif($post_count=3) {
echo \'3\';
} elseif($post_count=4) {
echo \'4\';
} else {
echo \'<div class="flex_column av_one_fifth flex_column_div"><a target="_blank" href="\'.get_field(\'sponsor_url\').\'"><img src=\'. get_field(\'sponsor_logo\').\' alt="" /></a></div>\';
}?>
    <?php endwhile; ?><div class="clear"></div>
<?php endif; ?>
<?php wp_reset_query();  // Restore global post data stomped by the_post(). ?>
我希望实现这一目标,无论大小,它们都将始终保持相同的大小:但根据帖子数量的不同,它们的位置会有所不同:这就是我要寻找的图形(其中x 将是正在创建的5列网格中的帖子:

if ($post_count=1){
| | |x| | |
} elseif($post_count=2) {
| |x| |x| |
} elseif($post_count=3) {
|x| |x| |x|
} elseif($post_count=4) {
|x|x|x|x| |
} else {
|x|x|x|x|x|
有什么想法吗?

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

$post_count 是一个WP_Query 变量你需要$the_query->post_count

if( $the_query->have_posts() ): ?> <h1>Partners<h1><hr> <?php 
  while( $the_query->have_posts() ) :
   $the_query->the_post();
    if($the_query->post_count=1){
       // ...
否则它看起来应该会工作,尽管我现在还不能测试这个。

相关推荐

MANAGE_USERS_CUSTOM_COLUMNS筛选器不触发回调函数

我使用以下函数向users表中添加了一些自定义列 public function modify_users_columns( $column_headers ) { //Remove email, role, and posts column unset( $column_headers[\'email\'], $column_headers[\'role\'], $column_headers[\'posts\'] ); //Add sponsor