为什么只发25个帖子?

时间:2016-08-04 14:50:25

标签: wordpress loops

我制作了一个代码来访问wordpress中的所有帖子,但我只是收到了最后25篇帖子而且没有了,这就是代码

$args = array(      
    'numberposts' => -1,
    'post_type' => 'homeland_properties',
    'post_status' => 'publish'
);

$posts = get_posts( $args );

我需要获得所有帖子,但如果我将numberposts参数更改为例如25工作正常并得到所有结果但是如果我把26只不工作,我不明白为什么,如果我把-1加入所有帖子同样不起作用。 一些帮助...

3 个答案:

答案 0 :(得分:0)

使用wp_query您也可以完成此任务尝试此

 <?php 
    // the query
    $wpb_all_query = new WP_Query(array('post_type'=>'post', 'post_status'=>'publish', 'posts_per_page'=>-1)); ?>

    <?php if ( $wpb_all_query->have_posts() ) : ?>

    <ul>

        <!-- the loop -->
        <?php while ( $wpb_all_query->have_posts() ) : $wpb_all_query->the_post(); ?>
            <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
        <?php endwhile; ?>
        <!-- end of the loop -->

    </ul>

        <?php wp_reset_postdata(); ?>

    <?php else : ?>
        <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
    <?php endif; ?>

答案 1 :(得分:0)

尝试制作WP_Query

$new_query = new WP_Query(
    array(
        'posts_per_page' => -1,
        'post_type' => 'homeland_properties',
        'post_status' => 'publish'
    )
);

然后将其用于循环

while ($new_query->have_posts()) : $new_query->the_post();

答案 2 :(得分:0)

我只是解决了向阵列添加更多参数的问题,以便过滤掉更多的结果,我不知道为什么使这个过滤工作,并且没有它不起作用,想到一个litel我可以说如果我添加这个过滤器到数组获取更具体的帖子meabe这个分页选项消失  并获得我想要的所有帖子,无论如何这都是代码。

$args = array(      'numberposts' => -1,
        'post_type' => 'my_custom_post',
        'meta_key'   => 'my_meta_key',
        'orderby'    => 'meta_value',
        'order'      => 'ASC',
        'post_status' => 'publish'
        );

$posts = get_posts( $args );

foreach ( $posts as $post ) :   setup_postdata( $post );   // The Loop;                  endforeach;

非常感谢每一位人士的关注。