【问题标题】:Wordpress theme doesn't output more than one post per tagWordpress 主题每个标签输出的帖子不超过一篇
【发布时间】:2013-06-21 15:28:25
【问题描述】:

我们基于 Blankslate 主题创建了一个 Wordpress 主题。在tag.php 我看到了这个:

<?php get_header(); ?>

<div id="blog-content">
    <?php the_post(); ?>
    <h1 class="page-title"><?php _e( 'Tag Archives:', 'blankslate' ) ?> <span><?php single_tag_title() ?></span></h1>
    <?php rewind_posts(); 
    get_template_part( 'nav', 'above' );

    while ( have_posts() ) {
        the_post();
        get_template_part( 'entry' );
    }

    get_template_part( 'nav', 'below' ); ?>
</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

例如,我们有多个贴有“文档管理”标签的帖子,但是当我们浏览到标签时,我们只能看到最新的帖子。我可以更改什么来查看给定标签的所有帖子?

【问题讨论】:

  • 我喜欢仅仅 wordpress 代码让我觉得我需要去洗澡...
  • 为什么要使用这么多的 PHP 开始和结束标签?
  • 我稍后会在这里编辑。模板就是这样来的。
  • 您发布的内容中没有足够的信息来解决您的问题,只能猜测一下。假设帖子存在并且被正确标记,我冒昧地怀疑 tag.php 包含的多个模板和我已经拥有的 模板包含的模板在这个主题中看到。 @.@

标签: php wordpress wordpress-theming


【解决方案1】:

您需要更改 wordpress 中的循环,设置一些像这样的参数,然后通过 WP_QUERY 传递参数

E.G

这将获得最新的帖子

$args = array(
post_type => 'post',
posts_per_page => '20',
tax_query => array(
             array( 
             'taxonomy' => 'category',
             'terms => 'your custom slug here'
             'field' => 'slug'
),
),
);

$query = wp_query($args)

然后像这样将 $query 传递给帖子

while($query->have_posts() : $query->the_posts();

【讨论】:

    【解决方案2】:

    您是否尝试删除此脚本?

    <?php the_post(); ?>
    

    标签下&lt;div id="blog-content"&gt;

    还有这个

    rewind_posts(); 
    

    看来您不需要该脚本。我认为这就是问题所在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-23
      • 1970-01-01
      • 2019-02-15
      • 1970-01-01
      • 1970-01-01
      • 2018-02-04
      相关资源
      最近更新 更多