/** * Ajax pagination controller. * */ function presscore_ajax_pagination_controller() { $ajax_data = array('nonce' => isset($_POST['nonce']) ? $_POST['nonce'] : false, 'post_id' => isset($_POST['postID']) ? absint($_POST['postID']) : false, 'post_paged' => isset($_POST['paged']) ? absint($_POST['paged']) : false, 'target_page' => isset($_POST['targetPage']) ? absint($_POST['targetPage']) : false, 'page_data' => isset($_POST['pageData']) ? $_POST['pageData'] : false, 'term' => isset($_POST['term']) ? $_POST['term'] : '', 'orderby' => isset($_POST['orderby']) ? $_POST['orderby'] : '', 'order' => isset($_POST['order']) ? $_POST['order'] : '', 'loaded_items' => isset($_POST['visibleItems']) ? array_map('absint', $_POST['visibleItems']) : array(), 'sender' => isset($_POST['sender']) ? $_POST['sender'] : '', 'posts_count' => isset($_POST['postsCount']) ? $_POST['postsCount'] : 0); if ($ajax_data['post_id'] && 'page' == get_post_type($ajax_data['post_id'])) { $template = dt_get_template_name($ajax_data['post_id'], true); } else { if (is_array($ajax_data['page_data'])) { switch ($ajax_data['page_data'][0]) { case 'archive': $template = 'archive'; break; case 'search': $template = 'search'; } } } $response = array('success' => false, 'reason' => 'undefined template'); do_action('presscore_before_ajax_response', $template); switch ($template) { case 'template-albums-jgrid.php': case 'template-albums.php': $response = Presscore_Inc_Albums_Post_Type::get_albums_masonry_content($ajax_data); break; case 'template-portfolio-masonry.php': case 'template-portfolio-list.php': case 'template-portfolio-jgrid.php': $response = Presscore_Inc_Portfolio_Post_Type::get_masonry_content($ajax_data); break; case 'template-media.php': case 'template-media-jgrid.php': $response = Presscore_Inc_Albums_Post_Type::get_media_masonry_content($ajax_data); break; case 'template-blog-masonry.php': case 'template-blog-list.php': $response = presscore_blog_ajax_loading_responce($ajax_data); break; case 'template-testimonials.php': $response = presscore_testimonials_ajax_loading_responce($ajax_data); break; } $response = apply_filters('presscore_ajax_pagination_response', $response, $ajax_data, $template); $response = json_encode($response); // responce output header("Content-Type: application/json"); echo $response; // IMPORTANT: don't forget to "exit" exit; }
<!-- Content --> <div id="content" class="content" role="main"> <?php if (have_posts()) { while (have_posts()) { the_post(); // main loop do_action('presscore_before_loop'); if (post_password_required()) { the_content(); } else { // backup config $config_backup = $config->get(); $page_query = Presscore_Inc_Albums_Post_Type::get_albums_template_query(); /////////////////////// // Posts Filer // /////////////////////// presscore_display_posts_filter(array('post_type' => 'dt_gallery', 'taxonomy' => 'dt_gallery_category', 'query' => $page_query)); // fullwidth wrap open if ($config->get('full_width')) { echo '<div class="full-width-wrap">'; } // masonry container open echo '<div ' . presscore_masonry_container_class(array('wf-container')) . presscore_masonry_container_data_atts() . '>'; ////////////////////// // Custom loop // ////////////////////// 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);
/** * Get media posts in masonry layout. * */ public static function get_media_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, 'reason' => 'corrupted data'); } 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', 'media'); $config->base_init($post_id); if ($config->get('justified_grid') && isset($sender) && in_array($sender, array('filter', 'paginator'))) { $loaded_items = array(); } $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_media_template_query(); if ($page_query->have_posts()) { 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', 'media'); } wp_reset_postdata(); } $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'] = $config->get('order'); $responce['orderby'] = $config->get('orderby'); } // main loop $responce['html'] = $html; } $responce = json_encode($responce); // responce output header("Content-Type: application/json"); echo $responce; // IMPORTANT: don't forget to "exit" exit; }
if (have_posts()) { while (have_posts()) { the_post(); // main loop ?> <?php do_action('presscore_before_loop'); $load_style = $config->get('load_style'); $ajax_class = 'default' != $load_style ? ' with-ajax' : ''; $layout = $config->get('layout'); $full_width = $config->get('full_width'); $item_padding = $config->get('item_padding'); $target_width = $config->get('target_width'); $description = $config->get('description'); $media_query = Presscore_Inc_Albums_Post_Type::get_media_template_query(); // masonry layout classes $masonry_container_classes = array('wf-container' . $ajax_class, 'dt-gallery-container'); switch ($layout) { case 'grid': $masonry_container_classes[] = 'portfolio-grid'; break; case 'masonry': $masonry_container_classes[] = 'iso-container'; if ('on_hoover' == $description) { $masonry_container_classes[] = 'portfolio-grid'; } } // hover classes switch ($description) { case 'on_hoover_centered':