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 do_pagination($query)
 {
     if (is_wp_error($query)) {
         return;
     }
     $paged = dt_get_paged_var();
     $this->response['nextPage'] = dt_get_next_posts_url($query->max_num_pages) ? $paged + 1 : 0;
     $load_style = $this->config->get('load_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) {
             $this->response['currentPage'] = $paged;
             $this->response['paginationHtml'] = $pagination;
         } else {
             $this->response['currentPage'] = $this->input['post_paged'];
         }
         $this->response['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) {
                 $this->response['paginationHtml'] = $pagination;
             }
             $this->response['paginationType'] = 'paginator';
         }
     }
 }
示例#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
 function presscore_testimonials_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));
         if (have_posts() && !post_password_required()) {
             while (have_posts()) {
                 the_post();
                 // main loop
                 $config = presscore_get_config();
                 $config->set('template', 'testimonials');
                 $config->set('template.layout.type', 'masonry');
                 presscore_config_base_init();
                 do_action('presscore_before_loop');
                 $query = Presscore_Inc_Testimonials_Post_Type::get_template_query();
                 $html = '';
                 ob_start();
                 if ($query->have_posts()) {
                     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;
                         						}
                         */
                         // post template
                         get_template_part('content', 'testimonials');
                     }
                     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->get('order', '');
             $responce['orderby'] = $query->get('orderby', 'date');
         }
         // main loop
         $responce['html'] = $html;
     }
     return $responce;
 }
示例#5
0
    /**
     * Next page button.
     *
     */
    function dt_get_next_page_button($max, $class = '')
    {
        $next_posts_link = dt_get_next_posts_url($max);
        if ($next_posts_link) {
            $icon = '<svg class="loading-icon" viewBox="0 0 48 48" ><path d="M23.98,0.04c-13.055,0-23.673,10.434-23.973,23.417C0.284,12.128,8.898,3.038,19.484,3.038c10.76,0,19.484,9.395,19.484,20.982c0,2.483,2.013,4.497,4.496,4.497c2.482,0,4.496-2.014,4.496-4.497C47.96,10.776,37.224,0.04,23.98,0.04z M23.98,48c13.055,0,23.673-10.434,23.972-23.417c-0.276,11.328-8.89,20.42-19.476,20.42	c-10.76,0-19.484-9.396-19.484-20.983c0-2.482-2.014-4.496-4.497-4.496C2.014,19.524,0,21.537,0,24.02C0,37.264,10.736,48,23.98,48z"/></svg>';
            return '<div class="' . esc_attr($class) . '">
				<a class="button-load-more" href="javascript: void(0);" data-dt-page="' . dt_get_paged_var() . '" >' . $icon . '<span class="button-caption">' . __('Load more', LANGUAGE_ZONE) . '</span></a>
			</div>';
        }
        return '';
    }
    /**
     * Next page button.
     *
     */
    function dt_get_next_page_button($max, $class = '')
    {
        $next_posts_link = dt_get_next_posts_url($max);
        if ($next_posts_link) {
            $button_html_class = 'button-load-more';
            if (presscore_is_lazy_loading()) {
                $button_html_class .= ' button-lazy-loading';
                $caption = __('Loading...', 'the7mk2');
            } else {
                $caption = __('Load more', 'the7mk2');
            }
            $caption = apply_filters('dt_get_next_page_button-caption', $caption);
            $icon = '<span class="stick"></span><span class="stick"></span><span class="stick"></span>';
            return '<div class="' . esc_attr($class) . '">
				<a class="' . $button_html_class . '" href="javascript: void(0);" data-dt-page="' . dt_get_paged_var() . '" >' . $icon . '<span class="h5-size button-caption">' . $caption . '</span></a>
			</div>';
        }
        return '';
    }
示例#7
0
 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));
         if (have_posts() && !post_password_required()) {
             while (have_posts()) {
                 the_post();
                 // main loop
                 $config = Presscore_Config::get_instance();
                 $config->set('template', 'blog');
                 $config->set('template.layout.type', 'masonry');
                 presscore_config_base_init();
                 presscore_post_meta_new_controller();
                 do_action('presscore_before_loop');
                 $orderby = $config->get('orderby');
                 $query_args = array('post_type' => 'post', 'post_status' => 'publish', 'paged' => dt_get_paged_var(), 'order' => $config->get('order'), 'orderby' => 'name' == $orderby ? 'title' : $orderby);
                 $ppp = $config->get('posts_per_page');
                 if ($ppp) {
                     $query_args['posts_per_page'] = intval($ppp);
                 }
                 $display = $config->get('display');
                 if (!empty($display['terms_ids'])) {
                     $terms_ids = array_values($display['terms_ids']);
                     switch ($display['select']) {
                         case 'only':
                             $query_args['category__in'] = $terms_ids;
                             break;
                         case 'except':
                             $query_args['category__not_in'] = $terms_ids;
                     }
                 }
                 $query = new WP_Query($query_args);
                 $html = '';
                 ob_start();
                 if ($query->have_posts()) {
                     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();
                         // post template
                         dt_get_template_part('blog/masonry/blog-masonry-post');
                     }
                     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;
 }