WP课件& ACF - 创建可用课程概述

时间:2018-05-29 15:23:25

标签: wordpress advanced-custom-fields custom-fields

我正在使用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;

0 个答案:

没有答案