自定义POST类型单环输出错误POST

时间:2012-07-16 作者:beefchimi

我一直无法获得我的单一投资组合。php模板正常运行。

所以我有一个自定义的post类型,叫做portfolio。我正在头版显示所有这些帖子。php和它的工作非常好。这是头版的循环。php:

http://pastie.org/4268087

然而,在我的一生中,我无法在我的单一投资组合中找到合适的职位。php模板。

基本上,如果我去我的一个帖子(例如http://example.com/portfolio/test-post/) 我最终得到了一个显示错误帖子的页面(因此,我得到的不是“测试帖子”,而是“错误帖子”)。无论我打开哪个帖子,都会显示完全相同的帖子(“错误帖子”)。如果我将posts\\u per\\u页面设置为无限,它将显示所有帖子。

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

$args = array( \'post_type\' => \'product\', \'posts_per_page\' => 10 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
    the_title();
    echo \'<div class="entry-content">\';
    the_content();
    echo \'</div>\';
endwhile;
有什么建议可以解决这个问题吗?

谢谢

1 个回复
最合适的回答,由SO网友:SickHippie 整理而成

如果您已经正确设置了自定义帖子类型重写规则,则不需要创建新的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内部名称应全部为小写,仅使用字母字符以避免奇怪的行为。

结束

相关推荐

NEXT_POSTS_LINK对使用AJAX调用的循环无效

在我的主页上,我显示了一个帖子循环,我允许用ajax搜索结果和其他自定义循环来替换。这些结果将在带有custom wp_query. 问题是next_posts_link 没有为搜索循环返回第2页的正确链接。我得到的是链接http://mysite.com/wp-admin/admin-ajax.php?paged=2. 下面是我用来返回结果的整个设置。我需要更改什么才能获得正确的分页?//脚本jQuery(document).ready(function($){ $(\'#searchsubmi