/**
  * 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);
예제 #3
0
 /**
  * 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;
 }
예제 #4
0
    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':