我创建了两种自定义帖子类型:“班级”和“教师”。我使用高级自定义字段插件创建了一个“classes”自定义帖子类型的字段,这是一个多选项,可以帮助我向每个类添加某些现有的“teachers”。multiselect字段返回这些教师的ID。所以当我去上单人课的时候。php很容易为当前班级列出我选择的所有老师。
Situation我现在是单身教师。php和我正试图为当前教师列出他在multiselect字段中选择的所有“类”。所有这些都在侧边栏中。所以我所做的就是在所有的课堂上做一个循环,里面还有一个循环,通过老师。当其中一位教师的ID等于当前教师的ID时(因为我在single teachers.php上),然后显示班级的标题。代码如下:
<?php
$current_post_id = $post->ID; // Get current teacher id
$num = -1;
$k=0;
// loop throught the classes
$args=\'&suppress_filters=true&posts_per_page=\'.$num.\'&post_type=classes
&order=DESC&orderby=date\';
$cust_loop = new WP_Query($args);
if ($cust_loop->have_posts()) :
while ($cust_loop->have_posts()) : $cust_loop->the_post();
$teachers_list = get_field(\'teachers\');
if($teachers_list !="") {
$inner_args = array(
\'posts_per_page\' => -1,
\'offset\' => 0,
\'category\' => \'\',
\'category_name\' => \'\',
\'orderby\' => \'name\',
\'order\' => \'ASC\',
\'post__in\' => $teachers_list,
\'post_type\' => \'teachers\',
);
$wp_query = new WP_Query($inner_args);
// loop throught the teachers of each class
// if one of those teachers has the id equal with the current
// teacher id then show the title of the class
while ($wp_query->have_posts()) : $wp_query->the_post();
if( $current_post_id === $post->ID ) {
$k = 1;
}
endwhile;
wp_reset_postdata();
}
if ($k==1) { ?>
<a class="post-title" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
<?php $k=0;
}
endwhile;
endif;
wp_reset_query(); ?>
Problem 是这个吗
<a class="post-title" href="<?php the_permalink(); ?>"
title="<?php the_title(); ?>"><?php the_title(); ?></a>
没有显示班级的名称,但显示老师的名称,而且我不确定它是否完全有效。