如何显示父类别和子类别指定类别模板

时间:2019-09-09 作者:Andy Thomas

我试图创建一个类别模板应用于父级,子级指定类别。我已经创建了一个文件名“category-1”。php,在这个文件中,我使用循环来获取帖子列表:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
   // Show content of category post here.
<?php endwhile;?>
<?php endif; ?>
在函数文件中,我输入以下代码:

function wpd_subcategory_template( $template ) {
    $cat = get_queried_object();
    if( 0 < $cat->category_parent )
        $template = locate_template( \'category-1.php\' );
    return $template;
}
add_filter( \'category_template\', \'wpd_subcategory_template\' );
我得到了子类别的帖子,但父类别的帖子没有显示完整(当前有10篇帖子)。有人告诉我为什么吗?非常感谢。

1 个回复
SO网友:djboris

if 声明阻止您使用category-1.php 父类别模板:

if( 0 < $cat->category_parent )
父(顶级)类别始终具有$cat->category_parent === 0. 删除该语句并重试,以查看这是否是您想要实现的结果。

除此之外,我不太确定我是否很了解你。如果您想知道为什么不是所有的帖子都显示在模板上,请知道默认情况下,posts_per_page 在全局查询中,仅限于在您的设置中设置的内容,阅读日志页面最多显示在仪表板中。

相关推荐

Ajax is not working in a loop

我试图使用ajax显示与所选类别相关的数据。它仅适用于最后选定的术语,而不适用于所有选定的术语。任何帮助都将不胜感激。var selected_cat = $(\'#my-categorychecklist input:checked\').map(function() { return this.value }).get(); $(document).ready( function () { var getid = $(\'#my