我在网络上可以看到无数关于此问题的帖子,但是无论进行多少研究,我似乎都无法使它起作用。有人可以帮助我了解为什么我的代码无法正常工作吗?
要对其进行分解,我创建了一个自定义页面模板,并从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>";
答案 0 :(得分:2)
查询似乎还可以。如果获得结果,则问题很可能出在模板上。
get_template_part
调用正在尝试加载content-works.php
,并且作为该函数的一个怪癖,如果找不到它,它会静默失败。