wp_posts с заданным дизайном не повторяется должным образом - PullRequest
0 голосов
/ 01 ноября 2019

Я использовал bootstrap 4 для оформления страницы блога. Дизайн хорошо, но когда я использую wp_posts дизайн не работает должным образом.

<?php 
    global $post;
    $events = array(
        'post_type' => 'post',
        'post_status' => 'publish',
        'category_name' => 'events',
        'posts_per_page' => 4,
    );
    $arr_posts = new WP_Query( $events );

    $myposts = get_posts( $events );
    foreach ( $myposts as $post ) : setup_postdata( $post ); ?>

        <div class="row single-event">
            <div class="col-6 p-0 m-0">
                <?php
                    if ( has_post_thumbnail() ) :
                        the_post_thumbnail();
                    endif;
                ?>
            </div>
            <div class="col-6 event-desc">
                <a href="<?php the_permalink(); ?>" class="event-title d-block"><?php the_title() ?></a>
                <p class="exerpt">
                    <?php if ( is_category() || is_archive() ) {
                                echo excerpt(30);
                            } else {
                                echo content(30);
                            } 
                        ?>
                </p>
                <p class="date">Event Date: <span><?php echo get_the_date('F j, Y'); ?></span></p>
                <a href="<?php the_permalink(); ?>" class="btn btn-sm btn-outline-primary">Learn More..</a>
            </div>
        </div>

        <?php endforeach; 
    wp_reset_postdata();
?>

Вот мой сайт https://rccsl.com/events/ Пожалуйста, помогите. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

Пожалуйста, используйте ниже код

<?php 
global $post;
$events = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'posts_per_page' => 4,
);
$arr_posts = new WP_Query( $events );

$myposts = get_posts( $events );
foreach ( $myposts as $post ) { setup_postdata( $post )?>

    <div class="row single-event">
        <div class="col-6 p-0 m-0">
            <?php
                if ( has_post_thumbnail() ) :
                    the_post_thumbnail();
                endif;
            ?>
        </div>
        <div class="col-6 event-desc">
            <a href="<?php the_permalink(); ?>" class="event-title d-block"><?php the_title() ?></a>
            <p class="exerpt">
                <?php if ( is_category() || is_archive() ) {
                            echo "test";
                        } else {
                            echo "test";
                        } 
                    ?>
            </p>
            <p class="date">Event Date: <span><?php echo get_the_date('F j, Y'); ?></span></p>
            <a href="<?php the_permalink(); ?>" class="btn btn-sm btn-outline-primary">Learn More..</a>
        </div>
    </div>

<?php } ?>
0 голосов
/ 01 ноября 2019

Кажется, что HTML-код не работает при выводе. Если вы проверите свой веб-сайт с помощью инструментов разработчика, вы увидите, что вместо вывода:

    <div class="row single-event">
       <div class="col-6 p-0 m-0"></div>
       <div class="col-6 p-0 m-0"></div>
    </div>
    <div class="row single-event">
       <div class="col-6 p-0 m-0"></div>
       <div class="col-6 p-0 m-0"></div>
    </div>
    <div class="row single-event">
       <div class="col-6 p-0 m-0"></div>
       <div class="col-6 p-0 m-0"></div>
    </div>

В результате вы получите:

    <div class="row single-event">

       <div class="col-6 p-0 m-0"></div>
       <div class="col-6 p-0 m-0"></div>

       <div class="row single-event">
          <div class="col-6 p-0 m-0"></div>
          <div class="col-6 p-0 m-0"></div>
       </div>

       <div class="row single-event">
          <div class="col-6 p-0 m-0"></div>
          <div class="col-6 p-0 m-0"></div>
       </div>

    </div>

Прежде всего добавьте точку с запятой(;) после the_title ()

the_title();

Затем попробуйте заменить

<p class="exerpt">
   <?php if ( is_category() || is_archive() ) {
          echo excerpt(30);
        } else {
          echo content(30);
        } 
   ?>
  </p>

на:

<div class="exerpt">
   <?php if ( is_category() || is_archive() ) {
          echo excerpt(30);
        } else {
          echo content(30);
        } 
   ?>
  </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...