function presscore_blog_ajax_loading_responce($ajax_data = array()) { global $post, $wp_query, $paged, $page; extract($ajax_data); if (!$nonce || !$post_id || !$post_paged || !$target_page || !wp_verify_nonce($nonce, 'presscore-posts-ajax')) { $responce = array('success' => false, 'reason' => 'corrupted data'); } else { require_once PRESSCORE_EXTENSIONS_DIR . '/aq_resizer.php'; require_once PRESSCORE_DIR . '/template-hooks.php'; require_once PRESSCORE_EXTENSIONS_DIR . '/dt-pagination.php'; // get page query_posts(array('post_type' => 'page', 'page_id' => $post_id, 'post_status' => 'publish', 'page' => $target_page)); $html = ''; if (have_posts() && !post_password_required()) { while (have_posts()) { the_post(); // main loop $config = Presscore_Config::get_instance(); $config->set('template', 'blog'); $config->set('layout', empty($page_data['layout']) ? 'masonry' : $page_data['layout']); presscore_config_base_init(); presscore_react_on_categorizer(); do_action('presscore_before_loop'); ob_start(); $query = presscore_get_blog_query(); if ($query->have_posts()) { $page_layout = presscore_get_current_layout_type(); $current_post = $posts_count; while ($query->have_posts()) { $query->the_post(); /* // check if current post already loaded $key_in_loaded = array_search( $post->ID, $loaded_items ); if ( false !== $key_in_loaded ) { unset( $loaded_items[ $key_in_loaded ] ); continue; } */ presscore_populate_post_config(); switch ($page_layout) { case 'masonry': presscore_get_template_part('theme', 'blog/masonry/blog-masonry-post'); break; case 'list': // global posts counter $config->set('post.query.var.current_post', ++$current_post); presscore_get_template_part('theme', 'blog/list/blog-list-post'); break; } } wp_reset_postdata(); } $html .= ob_get_clean(); } $responce = array('success' => true); /////////////////// // pagination // /////////////////// $next_page_link = dt_get_next_posts_url($query->max_num_pages); if ($next_page_link) { $responce['nextPage'] = dt_get_paged_var() + 1; } else { $responce['nextPage'] = 0; } $load_style = $config->get('load_style'); // pagination style if (presscore_is_load_more_pagination()) { $pagination = dt_get_next_page_button($query->max_num_pages, 'paginator paginator-more-button with-ajax'); if ($pagination) { $responce['currentPage'] = dt_get_paged_var(); $responce['paginationHtml'] = $pagination; } else { $responce['currentPage'] = $post_paged; } $responce['paginationType'] = 'more'; } else { if ('ajax_pagination' == $load_style) { ob_start(); dt_paginator($query, array('class' => 'paginator with-ajax', 'ajaxing' => true)); $pagination = ob_get_clean(); if ($pagination) { $responce['paginationHtml'] = $pagination; } $responce['paginationType'] = 'paginator'; } } ///////////////// // response // ///////////////// $responce['itemsToDelete'] = array_values($loaded_items); // $responce['query'] = $page_query->query; $responce['order'] = $query->query['order']; $responce['orderby'] = $query->query['orderby']; } // main loop $responce['html'] = $html; } return $responce; }
protected function configure_template() { $this->config->set('template', 'portfolio'); presscore_config_base_init($this->input['post_id']); if ($this->config->get('justified_grid') && isset($this->input['sender']) && in_array($this->input['sender'], array('filter', 'paginator'))) { $this->input['loaded_items'] = array(); } presscore_react_on_categorizer(); }
/** * Get albums posts in masonry layout. * */ public static function get_albums_masonry_content($ajax_data = array()) { global $post, $wp_query, $paged, $page; extract($ajax_data); if (!$nonce || !$post_id || !$post_paged || !$target_page || !wp_verify_nonce($nonce, 'presscore-posts-ajax')) { $responce = array('success' => false); } else { /** * Include AQResizer. * */ require_once PRESSCORE_EXTENSIONS_DIR . '/aq_resizer.php'; /** * Include helpers. * */ require_once PRESSCORE_DIR . '/helpers.php'; /** * Include template actions and filters. * */ require_once PRESSCORE_DIR . '/template-tags.php'; /** * Include paginator. * */ require_once PRESSCORE_EXTENSIONS_DIR . '/dt-pagination.php'; if (!class_exists('Mobile_Detect')) { /** * Mobile detection library. * */ require_once PRESSCORE_EXTENSIONS_DIR . '/mobile-detect.php'; } // get page query_posts(array('post_type' => 'page', 'page_id' => $post_id, 'post_status' => 'publish', 'page' => $target_page)); $config = Presscore_Config::get_instance(); $config->set('template', 'albums'); $config->base_init($post_id); if ($config->get('justified_grid') && isset($sender) && in_array($sender, array('filter', 'paginator'))) { $loaded_items = array(); } presscore_react_on_categorizer(); $html = ''; $responce = array('success' => true); if (have_posts() && !post_password_required()) { while (have_posts()) { the_post(); // main loop ob_start(); presscore_post_meta_new_gallery_controller(); do_action('presscore_before_loop'); $page_query = Presscore_Inc_Albums_Post_Type::get_albums_template_query(); if ($page_query->have_posts()) { add_filter('presscore_get_images_gallery_hoovered-title_img_args', 'presscore_gallery_post_exclude_featured_image_from_gallery', 15, 3); while ($page_query->have_posts()) { $page_query->the_post(); $key_in_loaded = array_search($post->ID, $loaded_items); if (false !== $key_in_loaded) { unset($loaded_items[$key_in_loaded]); continue; } get_template_part('content', 'gallery'); } wp_reset_postdata(); remove_filter('presscore_get_images_gallery_hoovered-title_img_args', 'presscore_gallery_post_exclude_featured_image_from_gallery', 15, 3); } $html .= ob_get_clean(); } $next_page_link = dt_get_next_posts_url($page_query->max_num_pages); if ($next_page_link) { $responce['nextPage'] = dt_get_paged_var() + 1; } else { $responce['nextPage'] = 0; } $load_style = $config->get('load_style'); // pagination style if (presscore_is_load_more_pagination()) { $pagination = dt_get_next_page_button($page_query->max_num_pages, 'paginator paginator-more-button with-ajax'); if ($pagination) { $responce['currentPage'] = dt_get_paged_var(); $responce['paginationHtml'] = $pagination; } else { $responce['currentPage'] = $post_paged; } $responce['paginationType'] = 'more'; } else { if ('ajax_pagination' == $load_style) { ob_start(); dt_paginator($page_query, array('class' => 'paginator with-ajax', 'ajaxing' => true)); $pagination = ob_get_clean(); if ($pagination) { $responce['paginationHtml'] = $pagination; } $responce['paginationType'] = 'paginator'; } } $responce['itemsToDelete'] = array_values($loaded_items); // $responce['query'] = $page_query->query; $responce['order'] = $page_query->query['order']; $responce['orderby'] = $page_query->query['orderby']; } // main loop $responce['html'] = $html; } return $responce; }