为什么这会显示10个WordPress项目而不是5个?

时间:2013-12-15 19:59:39

标签: php wordpress

我让代码正常工作,但不显示10个最近显示的项目。

<div id='cssmenu'>
    <ul>
    <?php
    $args = array(
        'posts-per-page' => 5,
        'cat'      => 11,
        'order'    => 'DESC'
    );
    query_posts( $args );
    if (have_posts()) :
        while (have_posts()) : the_post();
            echo "<li><a href='" . get_permalink() . "' class='post-wrap'>
                <span class='post-loop-image'>";
                    if ( has_post_thumbnail() ) {
                        the_post_thumbnail();
                    }
                    else{
                        echo "<img src='http://i0.wp.com/hanahanpolice.com/wp-content/uploads/2013/04/unknown_person.png?fit=1200%2C1200' alt='default' />";
                    }
                echo "</span>";
            echo "<span class='wanted'>";
            the_title();
            echo "</span></span></a></li>" ;
         endwhile;
    endif;
    wp_reset_query();
    ?>
...See all Wanted   

</ul>

</div>

这可能是我想念的一件简单事情,但我迷失了。提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

取自WP文件:

  

注意:此功能不适用于插件或主题。如   稍后解释,有更好的,更高性能的选项可以改变   主要查询。 Double注意:query_posts()过于简单了   通过替换它来修改页面的主要查询的有问题的方法   查询的新实例。效率低下(重新运行SQL查询)和   在某些情况下(特别是经常发生的情况下)会彻底失败   处理帖子分页)。任何现代WP代码都应该使用更多   可靠的方法,比如使用pre_get_posts钩子,为此   目的。 TL; DR不使用query_posts();

请改用WP_Query,例如:

<?php
$args = array(
    'posts_per_page' => 5,
    'cat'      => 11,
    'order'    => 'DESC'
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
.....

答案 1 :(得分:0)

问题实际上是代码。而不是使用

'posts-per-page' => 10,

应该是

'posts_per_page' => 10,