我制作了一个代码来访问wordpress中的所有帖子,但我只是收到了最后25篇帖子而且没有了,这就是代码
$args = array(
'numberposts' => -1,
'post_type' => 'homeland_properties',
'post_status' => 'publish'
);
$posts = get_posts( $args );
我需要获得所有帖子,但如果我将numberposts参数更改为例如25工作正常并得到所有结果但是如果我把26只不工作,我不明白为什么,如果我把-1加入所有帖子同样不起作用。 一些帮助...
答案 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;
非常感谢每一位人士的关注。