File manager - Edit - /home/theblueo/questionnaire/wp-content/plugins/cartflows/classes/class-cartflows-learndash-compatibility.php
Back
<?php /** * LearnDash compatibility * * @package CartFlows */ /** * Class for LearnDash compatibility */ class Cartflows_Learndash_Compatibility { /** * Member Variable * * @var instance */ private static $instance; /** * Initiator */ public static function get_instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor */ public function __construct() { add_filter( 'learndash_post_args', array( $this, 'cartflows_course_setting_fields' ) ); add_action( 'template_redirect', array( $this, 'cartflows_override_course_template' ) ); } /** * Override course cartflows template. * * @return bool */ public function cartflows_override_course_template() { // Don't run any code in admin area. if ( is_admin() ) { return false; } // Don't override the template if the post type is not `course`. if ( ! is_singular( 'sfwd-courses' ) ) { return false; } $course_id = learndash_get_course_id(); $user_id = get_current_user_id(); if ( is_user_logged_in() && sfwd_lms_has_access( $course_id, $user_id ) ) { return false; } if ( defined( LEARNDASH_VERSION ) && version_compare( LEARNDASH_VERSION, '2.6.4', '>' ) ) { $template = learndash_get_course_meta_setting( get_the_id(), 'wcf_course_template' ); } else { $template = get_course_meta_setting( get_the_id(), 'wcf_course_template' ); } if ( 'none' !== $template && $template ) { $link = get_permalink( $template ); wp_safe_redirect( $link ); } } /** * Add settings inside learndash settings. * * @param array $fields fields. * @return mixed */ public function cartflows_course_setting_fields( $fields ) { global $post; $all_posts = array( 'none' => __( 'None', 'cartflows' ), ); $landing_steps = get_posts( array( 'posts_per_page' => -1, 'post_type' => CARTFLOWS_STEP_POST_TYPE, 'post_status' => 'publish', 'orderby' => 'ID', 'order' => 'DESC', 'meta_query' => array( //phpcs:ignore array( 'key' => 'wcf-step-type', 'value' => array( 'landing', 'checkout', 'optin' ), 'compare' => 'IN', ), ), ) ); foreach ( $landing_steps as $landing_step ) { $all_posts[ $landing_step->ID ] = get_the_title( $landing_step->ID ) . ' ( #' . $landing_step->ID . ')'; } $selected = get_post_meta( get_the_ID(), 'wcf_course_template', true ); $description = sprintf( /* translators: 1: anchor start, 2: anchor close */ __( 'Non-enrolled students will redirect to the selected CartFlows template. If you have not created any Flow already, add new Flow from %1$shere%2$s.', 'cartflows' ), '<a href="' . esc_url( admin_url( 'edit.php?post_type=' . CARTFLOWS_FLOW_POST_TYPE . '&add-new-flow' ) ) . '">', '</a>' ); $fields['sfwd-courses']['fields']['wcf_course_template'] = array( 'name' => __( 'Select CartFlows Template for this Course', 'cartflows' ), 'type' => 'select', 'initial_options' => $all_posts, 'default' => 'none', 'help_text' => $description, 'show_in_rest' => true, 'rest_args' => array( 'schema' => array( 'type' => 'string', ), ), ); return $fields; } } /** * Kicking this off by calling 'get_instance()' method */ Cartflows_Learndash_Compatibility::get_instance();
| ver. 1.4 |
Github
|
.
| PHP 7.0.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings