【问题标题】:Wordpress Custom Post Type Single Loop Outputting Wrong PostWordpress 自定义帖子类型单循环输出错误帖子
【发布时间】:2012-07-16 20:43:15
【问题描述】:

我无法让我的 single-portfolio.php 模板正常运行。

所以我有一个名为投资组合的自定义帖子类型。我在 front-page.php 中显示所有这些帖子,它工作得非常好。这是front-page.php的循环:

http://pastie.org/4268087

然而,就我的一生而言,我无法在我的 single-portfolio.php 模板中找到正确的帖子。

基本上,如果我转到我的一个帖子(例如,假设http://example.com/portfolio/test-post/),我最终会得到一个显示错误帖子的帖子页面(所以我得到的是“错误的”而不是“测试帖子” -邮政”)。无论我打开什么帖子,都会显示完全相同的帖子(“错误帖子”)。如果我将 posts_per_page 设置为无限,它将显示所有帖子。

我尝试了许多不同的循环。我尝试了与上图完全相同的循环,以及 Wordpress Codex 中的默认自定义帖子类型循环。

关于如何解决这个问题的任何建议?

谢谢,

【问题讨论】:

    标签: wordpress loops


    【解决方案1】:

    在结束后使用wp_reset_query

    endwhile;
    wp_reset_query();
    

    【讨论】:

      【解决方案2】:

      Zourbuth 的解决方案对我不起作用,但是,在多次失败之后,我找到了 Wordpress 中自定义帖子类型的分页和单页的最佳解决方案。这是我的循环:

          <?php
      
          if ( get_query_var('paged') ) {
              $paged = get_query_var('paged');
          } else if ( get_query_var('page') ) {
              $paged = get_query_var('page');
          } else {
              $paged = 1;
          }
      
          query_posts( array(
              'post_type' => 'case-study',
              'paged' => $paged,
              'posts_per_page' => 12,
              'post_status' => 'publish',
              'order' => 'ASC',
              'orderby' => 'menu_order'
          ));
      
          while (have_posts()) : the_post();
      
              if(!get_post_format()) {
                  get_template_part('format', 'standard');
              } else {
                  get_template_part('format', get_post_format());
              }
      
              $i++;
      
          endwhile;
      
          ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-11-18
        • 2016-04-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多