显示来自父类别的所有帖子,并按子类别分组,标题为 Timber/Twig

问题描述

我正在使用以下代码为客户网站上的类别登录页面选择和设置上下文。

代码

$args = array(
  'cat' => '5,3,4,6','numberposts' => 5,'orderby' => 'date','order' => 'DESC',);
$context['stories'] = Timber::get_posts( $args );

我正在使用此代码设置模板并分配上下文。

代码

if( $category->parent == 0 ) {
  // Stories parent category
  $templates = array( 'category.twig' );
  $context['categories'] = $categories;
}

这一切正常,但我需要复制功能并进行以下调整。

  • numberofposts 设置为全部
  • 为每个子类别添加标题
  • 标题下方显示分配给每个类别的所有帖子

这个布局就像一个“所有帖子”页面。此页面将分配给名为“所有故事”的菜单项。

是否可以在无需编写大量额外代码的情况下完成这项工作?我正在学习 Timber 和 Twig,所以请随时分享一些技巧和窍门,以改进我的方法

解决方法

将帖子数设置为全部。

 'numberposts'       => -1,

更新上下文以添加标题。

$context['title']       = single_cat_title( '',false );
$context['description'] = category_description();

显示分配给每个类别的所有帖子。

$cat_id = 1;
$context['category_posts'] = Timber::get_posts(
    array(
        'cat' => $cat_id,'posts_per_page' => -1
    )
);