user_id = get_current_user_id(); add_shortcode('wpc_courses', array($this, 'renderAjaxView')); add_shortcode( 'courses', array($this, 'renderAjaxView') ); // legacy shortcode add_shortcode('wpc_profile', array($this, 'profilePage')); add_shortcode('lesson_count', array($this, 'lessonCount')); add_shortcode('course_count', array($this, 'courseCount')); } function lessonCount(){ $args = array( 'post_type' => 'lesson', 'post_status' => 'publish', 'posts_per_page' => -1 ); $query = new WP_Query($args); return $query->post_count; } function courseCount(){ $args = array( 'post_type' => 'course', 'post_status' => 'publish', 'posts_per_page' => -1 ); $query = new WP_Query($args); return $query->post_count; } function renderAjaxView() { include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); if( is_plugin_active( 'wp-courses-woocommerce/wp-courses-woocommerce.php') !== false ) { return 'Courses have moved.' . '
' . __('View Courses', 'wp-courses') . ''; } $logged_in = is_user_logged_in() === true ? 'true' : 'false'; ?>
get_current_user_id(), ), $atts ); if(!is_user_logged_in() && !isset($args['user_id'])){ return '
' . esc_html__('You must be logged in to view your profile', 'wp-courses') . '.
'; } ?>
post_content, $matches) && array_key_exists(2, $matches) && in_array('wpc_courses', $matches[2]) ) { return get_permalink( $page->ID ); } } } function wpc_get_courses_hash($params) { $paramStr = '?'; $index = 0; foreach ($params as $key => $value) { $paramStr .= ($index + 1) <= count($params) && $index !== 0 ? '&' : ''; $paramStr .= $key . '=' . $value; $index++; } return '#' . base64_encode($paramStr); }