文件操作 - Pages.php
返回文件管理
返回主菜单
删除本文件
文件: /home/www/public/wp-content/plugins/tutor/includes/kirki/backend/Pages.php
编辑文件内容
<?php /** * Preview script for html markup generator * * @package tutor-kirki-elements */ namespace TutorLMSKirki; use Kirki\HelperFunctions; use TUTOR\Input; use TutorPro\Subscription\Settings; use TutorPro\Subscription\Subscription; if (! defined('ABSPATH')) { exit; // Exit if accessed directly. } /** * Class Pages * This class is used to define all helper functions. */ class Pages { /** * Class constructor * * @since 1.0.0 */ public function __construct() { /** * Manage Post API call's */ add_action('wp_ajax_nopriv_tde_get_apis', [$this, 'tde_get_apis']); add_action('wp_ajax_tde_get_apis', [$this, 'tde_get_apis']); // add_action('template_redirect', [$this, 'control_pages_content']); add_action('template_include', [$this, 'may_be_change_template'], PHP_INT_MAX); add_filter('kirki_assets_should_load', [$this, 'load_kirki_assets']); add_action('wp_enqueue_scripts', [$this, 'load_assets'], 100); } /** * Get all APIs * * @since 1.0.0 */ public function tde_get_apis() { $course_template = Helper::get_course_template_posts(); $pages = []; foreach ($course_template as $key => $template) { $pages[] = [ 'id' => $template->ID, 'title' => $template->post_title, 'post_type' => $template->post_type, 'status' => $template->post_status, 'preview_url' => $template->guid, 'editor_url' => add_query_arg( [ 'action' => 'kirki', 'post_id' => $template->ID, ], $template->guid ), ]; } wp_send_json_success($pages); } public function may_be_change_template($template_path) { $action = Input::get('action'); $load_for = Input::get('load_for'); if ($this->is_course_page() && ($action !== 'kirki' || $load_for === 'kirki-iframe')) { $template_path = $this->generate_page_using_full_canvas_template($template_path); } if ($this->is_course_bundle_page() && ($action !== 'kirki' || $load_for === 'kirki-iframe')) { $template_path = $this->generate_page_using_full_canvas_template($template_path); } if ($this->is_course_list_page() && ($action !== 'kirki' || $load_for === 'kirki-iframe')) { $template_path = $this->generate_utility_page_content_with_fullcanvas_template_using_type('lms_course_list', $template_path); } // if ($this->is_cart_page() && ($action !== 'kirki' || $load_for === 'kirki-iframe')) { // $template_path = $this->generate_utility_page_content_with_fullcanvas_template_using_type('lms_cart', $template_path); // } // if ($this->is_checkout_page() && ($action !== 'kirki' || $load_for === 'kirki-iframe')) { // $template_path = $this->generate_utility_page_content_with_fullcanvas_template_using_type('lms_checkout', $template_path); // } if ($this->is_membership_page() && ($action !== 'kirki' || $load_for === 'kirki-iframe')) { $template_path = $this->generate_utility_page_content_with_fullcanvas_template_using_type('lms_membership_page', $template_path); } return $template_path; } private function generate_utility_page_content_with_fullcanvas_template_using_type($type, $template_path) { $utility_page = HelperFunctions::find_utility_page_for_this_context($type); if ($utility_page) { $html = apply_filters( 'kirki_html_generator', '', $utility_page['id'] ); $custom_data = [ 'kirki_template_content' => $html, 'kirki_template_id' => $utility_page['id'], ]; set_query_var('kirki_custom_data', $custom_data); $template_path = KIRKI_FULL_CANVAS_TEMPLATE_PATH; } return $template_path; } /** * Generate course page * * @since 1.0.0 */ private function generate_page_using_full_canvas_template($template_path) { $template = apply_filters('kirki_template_finder', 'post', get_post(get_the_ID())); if ($template) { $course_template = get_post($template['id']); if ($course_template->post_status === 'publish') { $html = apply_filters( 'kirki_html_generator', '', $course_template->ID ); $custom_data = [ 'kirki_template_content' => $html, // Example: Get the current post ID 'kirki_template_id' => $template['id'], ]; // Set a global variable with custom data to make it available in the template set_query_var('kirki_custom_data', $custom_data); $template_path = KIRKI_FULL_CANVAS_TEMPLATE_PATH; } } return $template_path; } /** * Load assets for preview page */ public function load_assets() { wp_enqueue_script(TDE_APP_PREFIX . '-tutor-kirki-preview', TDE_PLUGIN_ROOT_BASE . 'build/js/preview.min.js', ['wp-i18n'], TDE_APP_VERSION, true); wp_enqueue_style(TDE_APP_PREFIX . '-tutor-kirki-preview', TDE_PLUGIN_ROOT_BASE . 'build/css/preview.min.css', null, TDE_APP_VERSION); wp_localize_script(TDE_APP_PREFIX . '-tutor-kirki-preview', TDE_APP_PREFIX, [ 'isLoggedIn' => is_user_logged_in(), ]); } /** * Load kirki assets * * @param bool $default_value default value. * @return bool */ public function load_kirki_assets($default_value) { if ($this->is_course_page() || $this->is_course_bundle_page()) { return true; } return $default_value; } /** * Check if current page is course page * * @return bool */ private function is_course_page() { global $wp_query; $tutor = tutor(); if ($wp_query->is_single && ! empty($wp_query->query_vars['post_type']) && $wp_query->query_vars['post_type'] === $tutor->course_post_type) { return true; } return false; } private function is_course_bundle_page() { global $wp_query; $tutor = tutor(); if ($wp_query->is_single && ! empty($wp_query->query_vars['post_type']) && $wp_query->query_vars['post_type'] === $tutor->bundle_post_type) { return true; } return false; } private function is_course_list_page() { global $wp_query; if (is_array($wp_query->query_vars['post_type']) && in_array('courses', $wp_query->query_vars['post_type']) && ! $wp_query->is_single) { if (isset($wp_query->query_vars['course-category']) || isset($wp_query->query_vars['course-tag'])) { return false; } return true; } return false; } private function is_membership_page() { if (tutor()->has_pro && Subscription::is_enabled()) { $page_id = Settings::get_pricing_page_id(); global $wp_query; if ($wp_query->is_page && $wp_query->post->ID === $page_id) { return true; } } return false; } private function is_cart_page() { global $wp_query; if (isset($wp_query->query['pagename']) && $wp_query->query['pagename'] === 'cart') { return true; } if (isset($wp_query->query['kirki_utility_page_type']) && $wp_query->query['kirki_utility_page_type'] === 'lms_cart') { return true; } return false; } private function is_checkout_page() { global $wp_query; if (isset($wp_query->query['pagename']) && $wp_query->query['pagename'] === 'checkout') { return true; } if (isset($wp_query->query['kirki_utility_page_type']) && $wp_query->query['kirki_utility_page_type'] === 'lms_cart') { return true; } return false; } }
修改文件时间
将文件时间修改为当前时间的前一年
删除文件