Exemplo n.º 1
0
/**
 * Set up virtual pages for use with Social Paper.
 *
 * Some of our pages do not exist in WordPress.  In order to render content,
 * we have to do some tomfoolery to get WP to see our page as a "real" page.
 *
 * Currently supports the 'new' page slug.
 *
 * @see _cacsp_set_markers()
 *
 * @param  array $p Current queried posts.
 * @return array
 */
function _cacsp_set_virtual_page($p)
{
    // 'new' page slug
    if (true === Social_Paper::$is_new) {
        // redirect non-authenticated users back to paper directory
        if (false === is_user_logged_in()) {
            wp_redirect(home_url('/papers/'));
            die;
        }
        // dummy time!
        $p = array();
        $p[] = new WP_Post((object) array('ID' => 0, 'post_content' => __('Loading new paper.  Please wait...', 'social-paper'), 'post_title' => '', 'post_name' => 'new', 'filter' => 'raw', 'post_type' => 'cacsp_paper'));
    }
    // empty directory
    // we need to pass the have_posts() check so we can override the content
    if (cacsp_is_archive() && empty($p)) {
        Social_Paper::$is_empty_archive = true;
        // dummy time!
        $p = array();
        $p[] = new WP_Post((object) array('ID' => 0, 'post_content' => '', 'post_title' => '', 'post_name' => '', 'filter' => 'raw', 'post_type' => 'cacsp_paper'));
    }
    return $p;
}