Как отображать сообщения определенной категории c без использования тегов ul и li в WordPress? - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь показать 10 последних сообщений из категории, используя код ниже:

<div id="slideShow" class="carousel slide" data-ride="carousel">
    <div class="carousel-inner">
        <?php
        $my_query = new WP_Query('showposts=10&cat=4');
        while ($my_query->have_posts()) :
            $my_query->the_post();
            $do_not_duplicate = $post->ID; ?>
                <div class="carousel-item active">
                    <?php if (has_post_thumbnail($post->ID)) : ?>
                        <?php $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'carousel'); ?>
                        <img src="<?php echo $image[0]; ?>" class="slideShowImage d-block mx-auto" alt="carouselImage" width="1100" height="500">
                    <?php endif; ?>
                    <div class="carousel-caption">
                        <h3><?php the_title(); ?></h3>
                        <?php the_content(); ?>
                    </div>
                </div>
        <?php endwhile; ?>
</div>

Проблема в том, что этот фрагмент кода не показывает сообщения, пока я добавьте к нему теги ul и li:

<div id="slideShow" class="carousel slide" data-ride="carousel">
    <div class="carousel-inner">
        <ul id="carouselPosts">
            <?php
            $my_query = new WP_Query('showposts=10&cat=4');
            while ($my_query->have_posts()) :
                 $my_query->the_post();
                 $do_not_duplicate = $post->ID; ?>
                 <li class="list-unstyled">
                     <div class="carousel-item active">
                         <?php if (has_post_thumbnail($post->ID)) : ?>
                             <?php $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'carousel'); ?>
                             <img src="<?php echo $image[0]; ?>" class="slideShowImage d-block mx-auto" alt="carouselImage" width="1100" height="500">
                         <?php endif; ?>
                         <div class="carousel-caption">
                             <h3><?php the_title(); ?></h3>
                             <?php the_content(); ?>
                         </div>
                     </div>
                 </li>
             <?php endwhile; ?>
         </ul>
     </div>
 </div>

Я просто хочу использовать код без добавления тегов ul и li. Кроме того, я не хочу использовать какие-либо плагины, такие как Bootstrap карусель. Наконец, для тех, кто хочет предложить использовать теги ul и li, я хочу сказать, что, как и в другой части моего сайта, где я использовал Bootstrap карточные колоды, я столкнусь с той же проблемой и в этом разделе. Другое дело, что я не хочу добавлять дополнительные CSS и JavaScript к своему коду.

1 Ответ

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

После долгих поисков я нашел это решение, и оно очень хорошо работает для меня:

<div id="slideShow" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
    <?php
    $args = array(
        'post_type' => 'post',
        'post_status' => 'published',
        'cat' => '4',
        'showposts' => '10',
    );
    $my_query = new WP_Query($args);
    while ($my_query->have_posts()) :
        $my_query->the_post();
        $do_not_duplicate = $post->ID; ?>
        <div class="carousel-item active">
            <?php if (has_post_thumbnail($post->ID)) : ?>
                <?php $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'carousel'); ?>
                <img src="<?php echo $image[0]; ?>" class="slideShowImage d-block mx-auto" alt="Los Angeles" width="1100" height="500">
            <?php endif; ?>
            <div class="carousel-caption">
                <h3><?php the_title(); ?></h3>
                <?php the_content(); ?>
            </div>
        </div>
    <?php endwhile; ?>
</div>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...