Last active
December 25, 2020 12:48
-
-
Save nczz/bbcb4ff33f18abde01ea92e6141f2272 to your computer and use it in GitHub Desktop.
[WordPress] 建立不存在 WP_POSTS 資料表中的「假文章/頁面」 https://www.mxp.tw/9104/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function create_fake_post($content, $title = 'Slider Revolution') { | |
$post = new stdClass(); | |
$post->ID = -1; | |
$post->post_author = get_current_user_id(); | |
$post->post_date = current_time('mysql'); | |
$post->post_date_gmt = current_time('mysql', 1); | |
$post->post_title = $title; | |
$post->post_content = $content; | |
$post->post_status = 'publish'; | |
$post->comment_status = 'closed'; | |
$post->ping_status = 'closed'; | |
$post->post_name = 'rs-fake-page-' . rand(1, 99999); //append random number to avoid clash | |
$post->post_type = 'page'; | |
$post->filter = 'raw'; //important | |
//$post->post_meta = new stdClass(); | |
//$post->post_meta->_wp_page_template= '../public/views/revslider-page-template.php'; | |
//Convert to WP_Post object | |
$wp_post = new WP_Post($post); | |
//Add the fake post to the cache | |
wp_cache_add(-1, $wp_post, 'posts'); | |
global $wp, $wp_query; | |
// Update the main query | |
$wp_query->queried_object_id = -1; | |
$wp_query->post = $wp_post; | |
$wp_query->posts = array($wp_post); | |
$wp_query->queried_object = $wp_post; | |
$wp_query->found_posts = 1; | |
$wp_query->post_count = 1; | |
$wp_query->max_num_pages = 1; | |
$wp_query->is_page = true; | |
$wp_query->is_singular = true; | |
$wp_query->is_single = false; | |
$wp_query->is_attachment = false; | |
$wp_query->is_archive = false; | |
$wp_query->is_category = false; | |
$wp_query->is_tag = false; | |
$wp_query->is_tax = false; | |
$wp_query->is_author = false; | |
$wp_query->is_date = false; | |
$wp_query->is_year = false; | |
$wp_query->is_month = false; | |
$wp_query->is_day = false; | |
$wp_query->is_time = false; | |
$wp_query->is_search = false; | |
$wp_query->is_feed = false; | |
$wp_query->is_comment_feed = false; | |
$wp_query->is_trackback = false; | |
$wp_query->is_home = false; | |
$wp_query->is_embed = false; | |
$wp_query->is_404 = false; | |
$wp_query->is_paged = false; | |
$wp_query->is_admin = false; | |
$wp_query->is_preview = false; | |
$wp_query->is_robots = false; | |
$wp_query->is_posts_page = false; | |
$wp_query->is_post_type_archive = false; | |
//Update globals | |
$GLOBALS['wp_query'] = $wp_query; | |
$wp->register_globals(); | |
return $wp_post; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment