Posts not showing on page

时间:2014-11-07 作者:Rico Shaft

有人能发现这个代码有什么错误吗(见下文)。我的页面上没有显示任何内容。非常感谢。

<?php 
    $args = array(
    \'posts_per_page\' => 3,
    \'orderby\' => \'rand\',
    \'category_name\' => \'testimonials\'
    );

    $query = new WP_Query( $args );
        // The Loop
        if ( $query->have_posts() ) {
            echo \'<ul class="testimonials">\';
        while ( $query->have_posts() ) {
            $query->the_post();
            echo \'<li class="clear">\';
            echo \'<figure class="testimonial-thumb">\';
            the_post_thumbnail(\'testimonial-mug\');
            echo \'</figure>\';
            echo \'<aside class="testimonial-text">\';
            echo \'<h3 class="testimonial-name">\' . get_the_title() . \'</h3>\';
            echo \'<div class="testimonial-excerpt">\';
            the_content(\'\');
            echo \'</div>\';
            echo \'</aside>\';
            echo \'</li>\';
        }
        echo \'</ul>\';
    }
    wp_reset_postdata();
?>

2 个回复
最合适的回答,由SO网友:dswebsme 整理而成

您的代码中没有任何错误。我可以将其复制/粘贴到函数中。php并返回3篇分类为“推荐”的帖子,没有问题。

默认情况下,此WP\\U查询将仅检索“post”匹配项,因此如果您使用的是页面或自定义post类型,则需要在查询参数中指定为:

$args[\'post_type\'] = \'page\';

$args[\'post_type\'] = \'custom_post_type_name\';

唯一需要检查的另一件事是确保您已将帖子添加到WordPress仪表板的“推荐”类别中。

我希望这有帮助。

SO网友:Zohair Baloch

我也这样做过get_posts() 方法这是我用来在我的页面上获取帖子的代码。我根据帖子的类别筛选帖子,所以我加入了类别category_name, 如果希望显示所有帖子,可以将其留空。

<?php $args = array(
    \'posts_per_page\'   => 5,
    \'offset\'           => 0,
    \'category\'         => \'\',
    \'category_name\'    => \'{category slug}\',
    \'orderby\'          => \'date\',
    \'order\'            => \'DESC\',
    \'include\'          => \'\',
    \'exclude\'          => \'\',
    \'meta_key\'         => \'\',
    \'meta_value\'       => \'\',
    \'post_type\'        => \'post\',
    \'post_mime_type\'   => \'\',
    \'post_parent\'      => \'\',
    \'author\'       => \'\',
    \'post_status\'      => \'publish\',
    \'suppress_filters\' => true 
);
$lastposts = get_posts( $args );
        foreach($lastposts as $post) :
        setup_postdata($post); ?>

        <li<?php if ( $post->ID == $wp_query->post->ID )
         { 
            echo \' class="current"\'; 

         } else {} ?>>

            <a href="<?php the_permalink() ?>"><?php 
            the_title();


             ?></a>
             <?php
             the_excerpt();
             ?>

        </li>

    <?php endforeach; ?>

结束

相关推荐

WP_Query displaying ALL posts

我不明白为什么我的WP_Query 始终显示所有已发布的帖子,无论我在参数中输入了什么。<?php $args = array(\'numberposts\' => 1, \'meta_key\' => \'display\', \'meta_value\' => \'about\' ); $about_preview