我目前的代码始终显示标题“课程教师”,当我需要它时,如果没有课程教师,它就会消失。
我需要做的是:
如果任何培训师的课程编号与当前课程页面ID相匹配,则显示标题为“课程教师”。
<div class="instructors">
<?php
$trainersArray = array(
'post_type' => 'trainers',
'posts_per_page' => -1,
'orderby' => 'name',
'order' => 'ASC'
);
query_posts($trainersArray);
$trainers = get_posts( $trainersArray );
?>
<?php /*if($Course_ID):*/?>
<h3 id="trainers_heading">Course Instructors</h3><!-- only show this if there is instructors to show -->
<?php /*endif;*/?>
<div id="trainers_list">
<?php
foreach ( $trainers as $trainer ) :
$trainerID = $trainer->ID;
$trainer_courses = get_field('courses',$trainerID); //SELECT THE CONNECTED COURSE'S CUSTOM FIELD
$fullName = get_the_title($trainerID); //GET THE NAME FIELD IN TESTIMONIAL POSTS
$trainerPage = get_the_permalink($trainerID);
$feedback_count = 0;
if( $trainer_courses ):
foreach( $trainer_courses as $trainer_course ):
$trainerCourseID = $trainer_course->ID;
if ($trainerCourseID == $Course_ID) : ?>
<div class="instructor-block">
<div class="instructor-profile ">
<div class="profile-name">
<?php echo $fullName; ?>
</div>
<div class="profile-link">
<a href="<?php echo $trainerPage; ?>">
View Full Profile
</a>
</div>
</div>
</div><br><!-- Another BR Fernando? and it's not even in body text, its after a DIV, whats your problem? -->
<?php
endif;
endforeach;
endif;
endforeach; ?> <!--echo json_encode( $trainers ); -->
<? wp_reset_query(); ?>
</div><!-- .trainers_list -->
</div><!-- .instructors -->
答案 0 :(得分:0)
“如果任何培训师的课程编号与当前课程页面ID相匹配,则显示标题为”课程教师“。
您必须先找出是否有任何培训师的课程编号与当前课程页面ID相匹配,然后才能决定是否显示标题。
你可以做两次foreach循环,也可以只创建一个包含$ fullName和$ trainerPage的数组。
如果数组包含元素,则显示标题并在新数组上进行简单的foreach循环,您只需输出先前获得的有关课程教师的信息。
如果我没有正确解决问题,请评论原因。