php grabbing every post made?

时间:2017-01-15 作者:tombedorchestra

哦哦!所以我添加了一个页面博客。php,代码如下:

<article>

    <?php // Display blog posts on any page @ http://m0n.co/l
    $temp = $wp_query; $wp_query= null;
    $wp_query = new WP_Query(); $wp_query->query(\'showposts=5\' . \'&paged=\'.$paged);
    while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

    <h2><a href="<?php the_permalink(); ?>" title="Read more"><?php the_title(); ?></a></h2>
    <?php the_content(); ?>

    <?php endwhile; ?>

    <?php if ($paged > 1) { ?>

    <nav id="nav-posts">
        <div class="prev"><?php next_posts_link(\'&laquo; Previous Posts\'); ?></div>
        <div class="next"><?php previous_posts_link(\'Newer Posts &raquo;\'); ?></div>
    </nav>

    <?php } else { ?>

    <nav id="nav-posts">
        <div class="prev"><?php next_posts_link(\'&laquo; Previous Posts\'); ?></div>
    </nav>

    <?php } ?>

    <?php wp_reset_postdata(); ?>

</article>
然后我转到我的页面或类别,选择要使用的模板。问题是,当我选择这个模板进入一个页面或类别时,它似乎抓住了我写过的每一篇文章,而不是我分配给特定类别的文章。

因此,我的wordpress设置为静态页面(如我的主页、联系人页面等),永远不会收到帖子。它们保持不变。然后,我有一些类别(就像页面一样)来获取我所有的帖子。我将每个帖子分配到一个类别,希望它们出现在其中。因此,如果我添加了一个新的配方,我会发表一篇新帖子,将其分配到“配方”类别,然后它会显示在该页面上。

然而,现在,有了这个代码和模板,我的每一篇帖子都会显示在我所有的分类页面上。

我需要改变什么?有没有更简单的方法来实现这一点?

非常感谢。

1 个回复
SO网友:Samuel Asor

根据WordPress模板层次结构,使用category.php 样板因此,在other中,要显示您的首选类别,您需要创建category.php 文件,并使用以下查询:

$cat_query = new WP_Query(
    array(
        \'post_type\'         =>  \'post\',
        \'cat\'               =>  $cat, //WordPress global for getting the current category
        \'posts_per_page\'    =>  5,
        )
    );
然后你这样循环:

if( $cat_query->have_posts() ) : while( $cat_query->have_posts() ): $cat_query->the_post();

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请