Используйте WP_Query с аргументами ‘showposts’ = 1, но результат показывает 2 — WordPress

#wordpress

Вопрос:

Я пытаюсь получить последние сообщения wp, когда получаю ошибку, которую не знаю почему.

Я использую showpost, чтобы получить подсчет впечатлений, но результатом всегда является еще одно сообщение.

Я пытался искать, но не знаю, в чем причина проблемы. Я попытался заменить указатели на posts_per_page, но все равно произошла та же ошибка.

Все, кто сталкивался с такой же ошибкой, пожалуйста, помогите мне, спасибо!

 <?php $args = array(
    'post_status' => 'publish',
    'post_type' => 'post',
    'orderby' => 'date',
    'cat' => 0,
    'order' => 'DESC',
    'showposts' => 1,
);
$getposts_related = new WP_query($args);

if ($getposts_related->have_posts()) :
    while ($getposts_related->have_posts()) : $getposts_related->the_post();
        $placeholder = get_field('logo', 'option'); ?>
        <div class="col-6 col-md-4 col-lg-4 pb-4">
            <div class="baiviet-wrap">
                <a href="<?php the_permalink(); ?>">
                    <div class="thumbnail">
                        <img src="<?php
                        $url = wp_get_attachment_url(get_post_thumbnail_id(), 'thumbnail');
                        if ($url) {
                            echo $url;
                        } else {
                            echo $placeholder;
                        }
                        ?>" alt="<?php the_title(); ?>">
                    </div>
                    <div class="tieu-de">
                        <h3><?php the_title(); ?></h3>
                    </div>
                </a>
                <div class="description">
                    <?php
                    $excerpt = the_excerpt();
                    $excerpt = substr($excerpt, 0, 200);
                    $result = substr($excerpt, 0, strrpos($excerpt, ' '));
                    echo $resu< ?>
                </div>
                <div class="col-6 col-md-6 col-lg-6 cta-baiviet">
                    <a href="<?php echo get_permalink(); ?>">
                        <div class="detail-product btn-kgin kgin-sharp-5">
                            <div class="btn-wrap kgin-sharp-5">
                                <span>Xem chi tiết</span><i
                                        class="fas fa-angle-double-right"></i>
                            </div>
                        </div>
                    </a>
                </div>
            </div>
        </div>
    <?php endwhile;
endif;
wp_reset_postdata(); ?>
 

Ответ №1:

Вы не должны использовать showposts

Попробуйте использовать posts_per_page вместе с paged . Подобный этому:

 $args = array(
    'post_status' => 'publish',
    'post_type' => 'post',
    'posts_per_page' => 1,
    'paged' => 1
    'cat' => 0,
    'orderby' => 'date',
    'order' => 'DESC',
);
 

Ответ №2:

Ваш код выглядит хорошо, просто замените showposts на posts_per_page

 $args = array(
    'post_status' => 'publish',
    'post_type' => 'post',
    'posts_per_page' => 1,
    'orderby' => 'date',
    'cat' => 0,
    'order' => 'DESC',
);
 

Комментарии:

1. Я сделал это! но со мной это не сработает 🙁

2. В своем вопросе вы упомянули, что пробовали per_post_page, но это posts_per_page. Если вы все-таки попытались, то найдите wp-config.php файл в корневом каталоге, найдите строку define( 'WP_DEBUG', false ); и измените ее, чтобы define( 'WP_DEBUG', true ); она показала вам фактическую ошибку. Не забудьте снова сделать его ложным, как только закончите.