对于学生项目,我使用WordPress和木材(树枝)+ACF
在这个项目中,我创建了3种自定义帖子类型:dissertation
, subject-imposed
和subject-free
每个学生只能按自定义帖子类型创建一篇帖子(我为此创建了一个限制)。
但现在我想显示一个列表,列出每个学生的名字和他们的3篇帖子。
这样的列表:
Nicolas Mapple
<自定义职位类型的标题
dissertation
+ 自定义帖子类型名称+图像(ACF字段)
自定义帖子类型的标题subject-imposed
+ 自定义帖子类型名称+图像(ACF字段)自定义帖子类型的标题subject-free
+ 自定义贴子类型名称+图像(ACF字段)Brenda Smith
<自定义职位类型的标题
dissertation
+ 自定义帖子类型名称+图像(ACF字段)
自定义帖子类型的标题subject-imposed
+ 自定义帖子类型名称+图像(ACF字段)自定义帖子类型的标题subject-free
+ 自定义帖子类型名称+图像(ACF字段)开始时,我尝试获取每个学生的ID:
$students = get_users( array(
\'role\' => \'student\',
\'orderby\' => \'user_nicename\',
\'order\' => \'ASC\'
\'has_published_posts\' => true
));
$students_id = array();
foreach ($students as $student) {
$students_id[] = $student->ID;
}
之后,从以下ID获取所有帖子:
$get_posts_students = get_posts( array(
\'author\' => $students_id,
\'post_type\' => array(\'dissertation\', \'subject-imposed\', \'subject-free\')
));
$context[\'list_of_students\'] = $get_posts_students;
我发现了错误
urldecode() expects parameter 1 to be string
和一个数组,但包含所有帖子,不按学生分组
能帮我个忙吗?如何按学生分组帖子?
最合适的回答,由SO网友:Pat J 整理而成
根据WP_Query::parse_args
docs(这是解析$args
你要传给get_posts()
), 这个$author
参数必须是int
或astring
(以逗号分隔的ID列表)。
但你也需要按照每个学生分组设置,所以我建议:使用数组存储每个学生的帖子,然后在获得所有帖子后将其打印出来。
$students = get_users( array(
\'role\' => \'student\',
\'orderby\' => \'user_nicename\',
\'order\' => \'ASC\'
\'has_published_posts\' => true
));
$students_posts = array();
foreach ($students as $student) {
$get_posts_student = get_posts( array(
\'author\' => $student->ID,
\'post_type\' => array(\'dissertation\', \'subject-imposed\', \'subject-free\')
));
$students_posts[ $student->ID ] = array(
\'name\' => $student->user_nicename,
\'posts\' => $get_posts_student,
);
}
这将为您提供一组学生及其帖子,然后您可以循环浏览并显示这些帖子。