Exemplo n.º 1
0
 static function on_ajax_loop()
 {
     $loopState = td_util::get_http_post_val('loopState');
     //print_r($loopState);
     $buffy = '';
     /**
      * @var WP_Query
      */
     $td_query =& td_data_source::get_wp_query($loopState['atts'], $loopState['currentPage']);
     //by ref  do the query
     if (!empty($td_query->posts)) {
         td_global::$is_wordpress_loop = true;
         ///if we are in wordpress loop; used by quotes in blocks to check if the blocks are displayed in blocks or in loop
         $td_template_layout = new td_template_layout($loopState['sidebarPosition']);
         $td_module_class = td_api_module::_helper_get_module_class_from_loop_id($loopState['moduleId']);
         //disable the grid for some of the modules
         $td_module_api = td_api_module::get_by_id($td_module_class);
         if ($td_module_api['uses_columns'] === false) {
             $td_template_layout->disable_output();
         }
         foreach ($td_query->posts as $post) {
             $buffy .= $td_template_layout->layout_open_element();
             if (class_exists($td_module_class)) {
                 $td_mod = new $td_module_class($post);
                 $buffy .= $td_mod->render();
             } else {
                 td_util::error(__FILE__, 'Missing module: ' . $td_module_class);
             }
             $buffy .= $td_template_layout->layout_close_element();
             $td_template_layout->layout_next();
         }
         $buffy .= $td_template_layout->close_all_tags();
     } else {
         // no posts
     }
     $loopState['server_reply_html_data'] = $buffy;
     die(json_encode($loopState));
 }
Exemplo n.º 2
0
<?php

/**
 * If you are looking for the loop that's handling the single post page (single.php), check out loop-single.php
 **/
// $global_flag_to_hide_no_post_to_display - comes from page-category-big-grid.php and is a flag to hide the 'No posts to display' message if on category page there are between 1 and 5  posts
global $loop_module_id, $loop_sidebar_position, $global_flag_to_hide_no_post_to_display;
///if we are in wordpress loop; used by quotes in blocks to check if the blocks are displayed in blocks or in loop
td_global::$is_wordpress_loop = true;
$td_template_layout = new td_template_layout($loop_sidebar_position);
if (empty($loop_module_id)) {
    //not sure if we need a default here
    $loop_module_id = 1;
}
$td_module_class = td_api_module::_helper_get_module_class_from_loop_id($loop_module_id);
//disable the grid for some of the modules
$td_module = td_api_module::get_by_id($td_module_class);
if ($td_module['uses_columns'] === false) {
    $td_template_layout->disable_output();
}
if (have_posts()) {
    while (have_posts()) {
        the_post();
        echo $td_template_layout->layout_open_element();
        if (class_exists($td_module_class)) {
            $td_mod = new $td_module_class($post);
            echo $td_mod->render();
        } else {
            td_util::error(__FILE__, 'Missing module: ' . $td_module_class);
        }
        echo $td_template_layout->layout_close_element();