显示WordPress中特定类别的帖子

时间:2018-10-07 15:49:29

标签: php wordpress

我在网络上可以看到无数关于此问题的帖子,但是无论进行多少研究,我似乎都无法使它起作用。有人可以帮助我了解为什么我的代码无法正常工作吗?

要对其进行分解,我创建了一个自定义页面模板,并从page.php(默认模板)复制了代码。然后,我包含了我的args和post循环,如下所示;

<main class="site-main" id="main">

  <?php
    // The Arguments
    $args = array(
      'category_name'  => 'commercial',
      'post_type'      => 'post',
      'post_status'    => 'publish',
      'posts_per_page' => 6
    );  

    // The Query
    $the_query = new WP_Query( $args ); 
    // If posts...
    if ( $the_query->have_posts() ) : ?>

  <!-- Start the loop -->
  <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
  <?php get_template_part( 'content', 'works' ); ?>  
  <?php endwhile; endif; // end the loop. ?>
  <?php wp_reset_postdata(); ?>

</main>
  

我要定位的类别是“商业”。

从前端我得到一个功能齐全的页面,没有视觉错误,并且所有内容均正确显示。简而言之,它是空白。好像页面没有加载帖子。

  

我的问题   我的代码结构有什么问题吗?   还是经验丰富的WP开发人员遇到任何明显的语法错误?

注意:不幸的是,我在网络上发现的大多数示例都是相当古老的。我担心这些示例的结构已过时。因此,我尝试通过文档提供的代码构建循环。

我还尝试了the docs中概述的路线;

$the_query = new WP_Query( array( 'category_name' => 'commercial' ) );

不幸的是没有运气。 :(

任何帮助将不胜感激。

预先感谢, 问候-B。

编辑:2018年10月7日,星期日17:11(已答复)

由于@msg的建议,我可以看到我为循环模板加载了错误的文件路径。我对循环如此着迷,忘了它。

编辑:2018年10月7日,星期日17:11

运行以下命令后,我可以看到帖子已被收集。

    echo "<pre>";
        print_r($the_query);
    echo "</pre>";

1 个答案:

答案 0 :(得分:2)

查询似乎还可以。如果获得结果,则问题很可能出在模板上。

get_template_part调用正在尝试加载content-works.php,并且作为该函数的一个怪癖,如果找不到它,它会静默失败。

相关问题