Если еще указать c Категория пост WordPress - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь сделать сценарий if else, но не могу сделать это правильно. Мне нужно сообщение с миниатюрой слева и текстом справа, а когда я делаю еще одно сообщение в категории, мне нужно миниатюру справа и текста слева.

Пока это мой код:

<div class="row">

        <?php if (query_posts('category_name=news'))
            if (have_posts()) : while (have_posts()) : the_post(); ?>
                <div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
                    <?php
                    if ($wp_query->current_post % 2) {
                        echo "<div class='image-test'>";
                        the_post_thumbnail('thumbnail');
                        echo "</div>";
                        echo "<div class='tekst-rechts'>";
                        the_title('<h2 class="entry-title"><a href="' . esc_url(get_permalink()) . '" rel="bookmark">', '</a></h2>');
                        the_content();
                        echo "</div>";
                    }
                    ?>
                </div>

            <?php endwhile; ?>

        <?php else : ?>

            <div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
                <?php
                //echo "Current item is ". (($wp_query->current_post % 2) ? "oneven" : "even");
                //the_title( '<h1 class="entry-title">', '</h1>' );
                the_title('<h2 class="entry-title"><a href="' . esc_url(get_permalink()) . '" rel="bookmark">', '</a></h2>');
                the_post_thumbnail('');
                the_content();
                ?>
            </div>

        <?php endif; ?>

        <?php wp_reset_query(); // reset the query 
        ?>
    </div>

1 Ответ

0 голосов
/ 19 марта 2020

Вы можете сделать это просто с помощью CSS Flex , Order и : nth-child () селектор.

HTML (содержит php):

    <div class="row">

        <?php if (query_posts('category_name=news'))
            if (have_posts()) : while (have_posts()) : the_post(); ?>
                <div <?php post_class('post-contents'); ?> id="post-<?php the_ID(); ?>">
                    <?php
                        echo "<div class='image-test'>";
                        the_post_thumbnail('thumbnail');
                        echo "</div>";
                        echo "<div class='tekst-rechts'>";
                        the_title('<h2 class="entry-title"><a href="' . esc_url(get_permalink()) . '" rel="bookmark">', '</a></h2>');
                        the_content();
                        echo "</div>";
                    ?>
                </div>

            <?php endwhile; ?>

        <?php else : ?>

            <p>No posts!</p>

        <?php endif; ?>

        <?php wp_reset_query(); // reset the query ?>
    </div>

CSS:

    .post-contents {
      display:flex;
      flex-flow: row wrap;
      justify-content: space-between;
      align-items: center;
    }

    .post-contents:nth-child(odd) .image-test {
      order: 2;
    }

    .post-contens:nth-child(odd) .entry-title {
      order: 1;
    }

Не забудьте добавить класс post-content в функцию post_class ().

...