Current Path : /home/church/www/wp-content/plugins/ninja-forms/includes/Display/ |
Current File : /home/church/www/wp-content/plugins/ninja-forms/includes/Display/Page.php |
<?php if ( ! defined( 'ABSPATH' ) ) exit; abstract class NF_Display_Page { public function __construct() { $this->_wp_query = $GLOBALS['wp_query']; $this->modify_wp_query(); } /** * @return string HTML */ public function get_content() { ob_start(); // ... $content = ob_get_clean(); return $content; } /** * @return string */ public abstract function get_title(); /** * @return string */ public abstract function get_guid(); /** * Modifies the WP Query to our liking * * @return void */ public function modify_wp_query() { $this->_wp_query->posts_per_page = 1; $this->_wp_query->nopaging = true; $this->_wp_query->post_count = 1; // If we don't have a post, load an empty one if ( empty( $this->_wp_query->post ) ) $this->_wp_query->post = new WP_Post( new \stdClass() ); $this->_wp_query->post->ID = 0; $this->_wp_query->post->post_date = current_time( 'mysql' ); $this->_wp_query->post->post_date_gmt = current_time( 'mysql', 1 ); $this->_wp_query->post->post_content = $this->get_content(); $this->_wp_query->post->post_title = $this->get_title(); $this->_wp_query->post->post_excerpt = ''; $this->_wp_query->post->post_status = 'publish'; $this->_wp_query->post->comment_status = false; $this->_wp_query->post->ping_status = false; $this->_wp_query->post->post_password = ''; $this->_wp_query->post->post_name = $this->get_guid(); $this->_wp_query->post->to_ping = ''; $this->_wp_query->post->pinged = ''; $this->_wp_query->post->post_modified = $this->_wp_query->post->post_date; $this->_wp_query->post->post_modified_gmt = $this->_wp_query->post->post_date_gmt; $this->_wp_query->post->post_content_filtered = ''; $this->_wp_query->post->post_parent = 0; $this->_wp_query->post->guid = get_home_url() . '/' . $this->get_guid(); $this->_wp_query->post->menu_order = 0; $this->_wp_query->post->post_type = 'page'; $this->_wp_query->post->post_mime_type = ''; $this->_wp_query->post->comment_count = 0; $this->_wp_query->post->filter = 'raw'; $this->_wp_query->posts = array( $this->_wp_query->post ); $this->_wp_query->found_posts = 1; $this->_wp_query->is_single = false; //false -- so comments_template() doesn't add comments $this->_wp_query->is_preview = false; $this->_wp_query->is_page = false; //false -- so comments_template() doesn't add comments $this->_wp_query->is_archive = false; $this->_wp_query->is_date = false; $this->_wp_query->is_year = false; $this->_wp_query->is_month = false; $this->_wp_query->is_day = false; $this->_wp_query->is_time = false; $this->_wp_query->is_author = false; $this->_wp_query->is_category = false; $this->_wp_query->is_tag = false; $this->_wp_query->is_tax = false; $this->_wp_query->is_search = false; $this->_wp_query->is_feed = false; $this->_wp_query->is_comment_feed = false; $this->_wp_query->is_trackback = false; $this->_wp_query->is_home = false; $this->_wp_query->is_404 = false; $this->_wp_query->is_comments_popup = false; $this->_wp_query->is_paged = false; $this->_wp_query->is_admin = false; $this->_wp_query->is_attachment = false; $this->_wp_query->is_singular = false; $this->_wp_query->is_posts_page = false; $this->_wp_query->is_post_type_archive = false; $GLOBALS['wp_query'] = $this->_wp_query; } }