Я использую WP Courseware и хотел бы создать страницу со всеми доступными курсами.
Проблема в том, что: - Курсы на самом деле не страницы с полями, которые я могу использовать.Это не CPT или из того, что я могу сказать.Я не могу добавить настраиваемые поля в этот раздел, так как ACF ничего не может из него прочитать.
Я обнаружил, что этот вопрос выглядит так, как будто он делает то, что мне нужно: Сложный запрос, объединяющий функцию WP Courseware, поля повторителя ACF и мета-запрос для поиска определенного файла шаблона
КРОМЕ Я не уверен, как она справилась с полем повторителя.Есть идеи?Итак, мой вопрос: как она создала поле повторителя и добавила идентификатор страницы в это поле?
- Если я смогу узнать, как она это сделала, я, вероятно, смогу создать отдельную страницу со всеми модулями, подключенными к курсу.
Я использовал тот же код из статьи, поскольку моя цель точно такая же.Моя проблема в том, что я не знаю, как использовать 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;