php - 使用 Twig / Timber 在作者页面上获取帖子存档
问题描述
这是我目前的设置:
- 我有一个 Wordpress 网站。
- 我使用 Twig 作为模板引擎。
- 我使用 Advance Custom Field 插件来创建自定义字段组。
- 我已经注册了一个名为 People 的自定义帖子类型。
- 自定义帖子类型 People 具有分配给它的 ACF 组。
- 我有在博客部分呈现的默认 Wordpress 帖子。
- 每篇博文都有一个分配给它的 ACF 组。
- 分配给帖子类型 Posts 的 ACF 组包含将该组与 People 组链接的关系字段,因此博客帖子可以显示一个或多个“作者”(来自自定义帖子类型 People 的条目)。
我可以单独访问每个人(来自自定义帖子类型 People 的条目)。我想做的是从那个角度来看,能够访问所有博客文章条目并按关系字段过滤以仅显示该人撰写的博客文章。
关于如何用 Twig 做到这一点的任何想法?一旦我进入人物“上下文”,我也找不到访问博客文章“上下文”的方法。
解决方案
通常,您需要为此创建一个自定义查询,并将其添加到 single-people.php 中:
// an author's blog articles
$args = array(
'post_type' => 'post',
'posts_per_page' => '9',
'orderby' => 'date',
'order'=> 'DESC',
'post_status' => 'publish',
'meta_query' => array(
array(
'key' => 'people', // name of custom field
'value' => '"' . get_the_ID() . '"',
'compare' => 'LIKE'
)
)
);
$context['blogs'] = Timber::get_posts( $args );
推荐阅读
- node.js - 我的 weebhook 中的 Dialogflow 缺少参数值
- php - 我如何显示数据库中的特定数据
- java - SimpleDateFormat 正在解析“yyyy-mm-dd”格式的 ISO 格式
- amazon-web-services - 在 AWS 上查找 Redhat 映像的 AMI id
- kubernetes-helm - 在 helm 中使用全局参数而不运行主图表
- java - 如何在使用 AWS CloudTrail 处理库时获取“资源名称”
- python-3.x - 将字典中的值与嵌套列表中的元素进行比较
- python - Django 模板和引导表
- bash - 从管道分隔文件中检索字段行
- angular - 路由参数值中带有“&”的角度路由器链接