[ 'post_title' => esc_html__( 'Dashboard', 'academy' ), 'post_status' => 'publish', 'post_type' => 'page', ], 'course_page' => [ 'post_title' => esc_html__( 'Courses', 'academy' ), 'post_status' => 'publish', 'post_type' => 'page', ], 'frontend_student_reg_page' => [ 'post_title' => esc_html__( 'Student Registration', 'academy' ), 'post_status' => 'publish', 'post_type' => 'page', ], 'frontend_instructor_reg_page' => [ 'post_title' => esc_html__( 'Instructor Registration', 'academy' ), 'post_status' => 'publish', 'post_type' => 'page', ], 'password_reset_page' => [ 'post_title' => esc_html__( 'Password Reset', 'academy' ), 'post_status' => 'publish', 'post_type' => 'page', ], 'lessons_page' => [ 'post_title' => esc_html__( 'Learn Page', 'academy' ), // phpcs:ignore // 'post_content' => '
[academy_course_curriculum_topbar]
[academy_course_curriculum_content][academy_tabs render_title="Q&A,Announcement" render_shortcode="academy_course_questions_answers,academy_course_announcements"]
[academy_course_curriculums]
', 'post_content' => '[academy_course_learnpage]', 'post_status' => 'publish', 'post_type' => 'page', ], ]; return apply_filters( 'academy/necessary_pages', $page_lists ); } public static function get_necessary_pages() { $settings = self::get_settings(); $necessary_pages = array(); $page_lists = self::necessary_pages(); foreach ( $page_lists as $key => $item ) { $item = ( $settings[ $key ] ? get_post( $settings[ $key ], ARRAY_A ) : $item ); if ( isset( $item['ID'] ) ) { $item['permalink'] = get_the_permalink( $item['ID'] ); } $item['settings'] = array( $key => $page_lists[ $key ]['post_title'] ); $necessary_pages[] = $item; } return $necessary_pages; } public static function regenerate_necessary_pages() { $settings = self::get_settings(); $page_lists = self::necessary_pages(); foreach ( $page_lists as $key => $page ) { $have_page = \Academy\Helper::get_page_by_title( $page['post_title'] ); if ( $have_page ) { // check page status if ( 'publish' !== $have_page->post_status ) { $have_page->post_status = 'publish'; wp_update_post( $have_page ); } // assign page id inside academy settings if ( $settings[ $key ] !== $have_page->ID ) { $settings[ $key ] = $have_page->ID; // set page template update_post_meta( $have_page->ID, '_wp_page_template', 'academy-canvas.php' ); } } else { $post_id = (string) wp_insert_post( $page ); if ( $post_id && empty( $settings[ $key ] ) ) { $settings[ $key ] = $post_id; // set page template update_post_meta( $post_id, '_wp_page_template', 'academy-canvas.php' ); } } }//end foreach update_option( ACADEMY_SETTINGS_NAME, wp_json_encode( $settings ), false ); return true; } }