类别模板未显示所有帖子格式

时间:2015-01-07 作者:the Freelancer

当我访问一个类别页面,其中列出了该类别中的所有帖子时,保存内容的div是空的。该模板显然只设置为显示标准post格式,而不显示其他格式(视频、音频、引用、库、链接)。

如何修复此问题?

以下是我的类别模板的内容:

<?php
    get_header();
    if ( have_posts() ) :
        while ( have_posts() ) : the_post();
            get_template_part( \'content\', get_post_format() );
        endwhile;
        get_template_part( \'includes/navigation\', \'index\' );
    else:
        get_template_part( \'includes/no-results\', \'index\' );
    endif;
    get_footer();
?>
我还有所有帖子格式的模板部件文件,即内容库。php

1 个回复
SO网友:Steve82

阅读get\\u template\\u部分的codex和get\\u post\\u格式将对您有很大帮助。

如果不知道主题中有哪些文件,很难说清楚,但是get_template_part( \'content\', get_post_format() ); 本质上是说使用名为content-format的模板。php,其中格式是图像、视频、图库等的一种。其中一种情况正在发生:

或者你的主题根本不包含这些模板,尽管你仍然应该在回退单中看到帖子。php格式,如果是这样的话。仍然值得检查它们是否存在,因为没有使用点get_post_format()如果他们没有。

或者这些模板位于类别模板下的子目录中,在这种情况下,您需要该格式get_template_part( \'subfolder/content\', get_post_format() );

或者你的帖子都是默认/标准格式get_post_format() 将返回false。如果是这种情况,那么您可以删除get_post_format() 使用justget_template_part( \'content\' ); 其中,所有帖子都将使用默认的内容模板部分。或者,您可以为错误响应指定一个值:

get_header();
if ( have_posts() ) :
    while ( have_posts() ) : the_post();
    $format = get_post_format();
    if ( false === $format ) {
    $format = \'standard\';
                            }
        get_template_part( \'content\', $format );
    endwhile;
    get_template_part( \'includes/navigation\', \'index\' );
else:
    get_template_part( \'includes/no-results\', \'index\' );
endif;
get_footer();
在这里,您需要确保添加了内容标准。php以及其他格式模板部分。

结束

相关推荐

1 post, 2 templates

我想能够呈现两种不同的风格(2个模板)后。例如,假设我有post ID 133,我希望有两个url来访问它,因此它会呈现不同模板应用的位置。洛雷姆。com/render1/133。com/render2/1333,例如。。。或者可能是这样的:洛雷姆。com/post/133和lorem。com/post/133?模板=2您将如何操作?