WordPress自定义帖子循环/每个项目的交替布局



我正在尝试在Wordpress中创建自定义帖子类型循环。目前为止,一切都好。我设法做到了。但是,我希望每个项目都有一个交替的布局,如下所示:

Item1 > IMAGE / DESCRIPTION
Item2 > DESCRIPTION / IMAGE
Item3 > IMAGE / DESCRIPTION
Item4 > DESCRIPTION / IMAGE

你明白了。我对PHP相当陌生,您将如何更改此循环?

<?php
$loop = new WP_Query( array( 'post_type' => 'menus', 'category_name' => '', 'ignore_sticky_posts' => 1, 'paged' => $paged ) );
while ( $loop->have_posts() ): the_post() ?>
<?php if ( $wp_query->current_post % 2 == 0 ) : ?>
<h2><?php echo get_the_title(); ?></h2>
<h2><?php echo the_content(); ?></h2>
<?php else: ?>
<h2><?php echo the_content(); ?></h2>
<h2><?php echo get_the_title(); ?></h2>
<?php endif ?>
<?php endwhile ?>
?>

问题是,如果我这样做,我会遇到一个未定义的偏移错误。 所以我想知道实现这一目标的正确方法是什么。任何意见不胜感激!

我认为这很接近。您可以尝试仅使用简单的计数器,并且在设置 post 对象时似乎您的循环设置缺少$loop变量(我倾向于使用它,不确定是否需要它(,并且您正在调用一个似乎不存在的对象带有"wp_query",您需要使用 $loop 代替或全局$post。也许像这样尝试你的循环:

$count = 0;
while ($loop->have_posts()): $loop->the_post();
$count++;
if ( $count % 2 === 0 ) : ?>
<h2><?php echo get_the_title(); ?></h2>
<h2><?php echo the_content(); ?></h2>
<?php else: ?>
<h2><?php echo the_content(); ?></h2>
<h2><?php echo get_the_title(); ?></h2>
<?php endif ;
endwhile; ?>

最新更新