我正在使用WP课件,我想创建一个包含所有可用课程的页面。
问题是: - 课程不是真正的页面,我可以使用的字段。根据我的说法,它不是CPT。我无法在此部分添加自定义字段,因为ACF无法从中读取任何内容。
我发现这个问题似乎符合我的要求:A complicated query combining a WP Courseware function, ACF repeater fields and a meta_query looking for a particular template file
除了我不知道她是如何处理转发器字段的。有任何想法吗? 所以我的问题是,她是如何创建转发器字段并在该字段中添加页面ID的?
我使用了文章中的相同代码,因为我的目标完全相同。我的问题是在这种情况下我不知道如何使用ACF(以前使用过ACF但不是这样的。)
$user = wp_get_current_user();
$user_id = $user->ID;
$user_course_list = WPCW_users_getUserCourseList($user_id);
$course_association_arr = get_field('course_association', 'option');
// Loop through user's courses
foreach ( $user_course_list as $user_course ) :
$course_id = $user_course->course_id;
$course_title = $user_course->course_title;
// Loop through the ACF course ID/page associations
foreach ( $course_association_arr as $course_association ) :
$assoc_course_id = $course_association['wp_courseware_id'];
if ( $course_id == $assoc_course_id ) :
// Loop through the ACF associated pages
foreach ( $course_association['associated_pages'] as $associated_page ) :
$page_id = $associated_page->ID;
$page_url = $associated_page->guid;
$args = array(
'post_type' => 'page',
'page_id' => $page_id,
'meta_query' => array(
array(
'key' => '_wp_page_template',
'value' => 'page-course-home.php',
),
)
);
$course_assoc_pages = new WP_Query( $args );
if( $course_assoc_pages->have_posts() ) :
while ( $course_assoc_pages->have_posts() ) : $course_assoc_pages->the_post();
echo '<li><a href="' . $page_url . '">'. $course_title . '</a></li>';
endwhile;
endif;
wp_reset_query();
endforeach;
endif;
endforeach;
endforeach;