WordPress Custom Post Loop / чередующийся макет для каждого элемента - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь создать пользовательский цикл записей в 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 ?>
?>

Дело в том, что если я так делаю, я сталкиваюсь с неопределенной ошибкой смещения. Поэтому мне интересно, что было бы правильным способом достичь этого. Любой вклад приветствуется!

1 Ответ

1 голос
/ 07 октября 2019

Я думаю, что это близко. Вместо этого вы можете попробовать использовать простой счетчик, и, возможно, в настройках цикла при настройке объекта 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; ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...