如果您已经正确设置了自定义帖子类型重写规则,则不需要创建新的WP_Query
在模板文件中。注释掉new WP_Query
行或重命名您的portfolio-single.php
因此,WP从默认值中退出single.php
看看它是否拉到了合适的柱子上。您也可以致电echo $post->ID
在循环内部查看每个循环迭代中的后WP是什么。
如果这不能解决您的问题,您可以使用此功能验证正在使用哪些模板文件。
将此添加到functions.php
:
function _dump_files()
{
add_action( \'all\', create_function( \'\', "echo \'<pre>\'; print_r( get_included_files() ); echo \'</pre>\'; return;" ) );
}
然后更改
footer.php
为此:
<?php wp_footer(); ?>
<?php
if (is_user_logged_in()) {
_dump_files() ;
}
?>
</body>
</html>
通过这种方式,您可以确保WP使用了正确的文件-您可能会发现它不包括自定义模板文件(通常是因为名称与最初设置时CPT中的内部名称不匹配)。此外,请记住,CPT内部名称应全部为小写,仅使用字母字符以避免奇怪的行为。