2014-01-20 121 views
7

我通过短代码显示帖子/页面的WordPress,并且想显示帖子的无限列表,但它只显示10个帖子。WordPress未显示超过10个帖子

这是我的代码;请指导我查询有什么问题。

$args = array('post_type' => 'post', 'cat' => '2', 'meta_key' => 'issue_of_article', 'meta_value' => $issue, 'posts_per_page' => -1, 'orderby' => 'artcle_category', 'order' => 'ASC'); 
$loop = new WP_Query($args); 
if ($loop->have_posts()) { 
while ($loop->have_posts()) : $loop->the_post(); 
    $loop->the_post(); 
    <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3> 
endwhile; 
} 

回答

7

就在你的论点

'posts_per_page' => -1 

然后你做添加此。

还有一件事:你可以将默认设置从管理改为10以外的其他设置。转到WordPress管理 - 设置 - 阅读。有一个选项,如“博客页面最多显示”。输入你想要的默认文章数量。

+0

这已经添加在参数数组中,我无法更改读取设置,因为它会影响所有系统,而我只想更改我的此代码。谢谢 –

+0

我检查通过删除“meta_key”和“meta_value”,然后“posts_per_page”的作品,如果我包括这些参数“posts_per_page”不起作用,而我从管理面板帖子检查超过10。 –

1

在管理页面

设置转到设置菜单 - >为博客网页显示最多阅读 更改值。

它会工作。

+0

我不能改变阅读设置,因为它会影响所有系统,而我只想改变我的这个代码。谢谢 –

0

也许愚蠢的问题,但你为什么要调用$ loop-> the_post();两次?这不是问题的根源吗? (每个循环中调用一次2个)

0

你可以决定多少职位在循环显示:

<?php wp_reset_query(); ?> 
<?php 

    $loop = new WP_Query(
     array(
      'post_type'  => 'resource', 
      'order_by'  => 'post_id', 
      'order'   => 'ASC', 
      'post_status' => 'publish', 
      'posts_per_page' => 100 
     )      
    ); 

?> 

<?php while ($loop -> have_posts()): $loop -> the_post(); ?> 

    <h1><?php the_title(); ?></h1> 
    <p><?php the_content(); ?></p> 

<?php endwhile; ?> 
0

1)首先,我建议在Wordpress.Stackexchange.com

2总是发布)最好的办法是在functions.php补充:

add_action('pre_get_posts','myfunc'); 
function myfunc($query){ 
    if ($query->is_main_query() && $query->is_archive){ 
     $query->set('posts_per_page', 1000); 
    } 
    return $query; 
} 
0
'posts_per_page' => -1 

'posts_per_page' => 1000 

这两个应该工作。