helpers->isMemberPressCoursesActive() ) { return []; } $courseId = get_the_ID(); $certificatesEnabled = get_post_meta( $courseId, '_mmcs_course_certificates_enable', true ); if ( is_string( $certificatesEnabled ) && 'enabled' === strtolower( $certificatesEnabled ) ) { $data['hasCourseCertificate'] = [ '@type' => 'EducationalOccupationalCredential', 'name' => sprintf( // Translators: 1 - The site name. __( '%1$s Certificate of Completion', 'aioseo-pro' ), get_bloginfo( 'name' ) ) ]; } if ( isset( $graphData->properties->autogenerate ) && ! $graphData->properties->autogenerate ) { return $data; } $sections = CourseModels\Section::find_all_by_course( $courseId ); if ( ! empty( $sections ) ) { $sectionData = []; foreach ( $sections as $section ) { $sectionData[] = [ '@type' => 'Syllabus', 'name' => $section->title, 'description' => $section->description ]; } if ( ! empty( $sectionData ) ) { $data['syllabusSections'] = $sectionData; } } include_once MEPR_MODELS_PATH . '/MeprOptions.php'; include_once MEPR_MODELS_PATH . '/MeprProduct.php'; include_once MEPR_MODELS_PATH . '/MeprRule.php'; $post = get_post( $courseId ); $accessList = \MeprRule::get_access_list( $post ); if ( ! empty( $accessList['membership'] ) && is_array( $accessList['membership'] ) ) { $offers = []; $memberPressOptions = \MeprOptions::fetch(); foreach ( $accessList['membership'] as $membership ) { $product = new \MeprProduct( $membership ); if ( 0 === absint( $product->price ) ) { $offers[] = [ '@type' => 'Offer', 'category' => 'Free' ]; continue; } $offers[] = [ '@type' => 'Offer', 'category' => 'lifetime' !== $product->period_type ? 'Subscription' : 'Paid', 'price' => $product->price, 'priceCurrency' => $memberPressOptions->currency_code ]; } $data['offers'] = $offers; } return $data; } }