/** * 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; }
do_action('presscore_before_loop'); if (post_password_required()) { the_content(); } else { // backup config $config_backup = $config->get(); // 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', 'dt-gallery-container')) . presscore_masonry_container_data_atts() . presscore_get_share_buttons_for_prettyphoto('photo') . '>'; ////////////////////// // Custom 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(); dt_get_template_part('media/media-masonry-post'); } wp_reset_postdata(); } // masonry container close echo '</div>'; // fullwidth wrap close if ($config->get('full_width')) { echo '</div>'; } ///////////////////// // Pagination //