//not sure if we need a default here $loop_module_id = 1; } $td_module_class = td_util::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(); $td_template_layout->layout_next(); } //end loop echo $td_template_layout->close_all_tags(); } else { /** * no posts to display. This function generates the __td('No posts to display'). * the text can be overwritten by the themplate using the global @see td_global::$custom_no_posts_message */ echo td_page_generator::no_posts(); }
function td_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_util::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)); }
function related_posts() { global $post; //this is used by the loop down if (!$this->is_single) { return; } if (td_util::get_option('tds_similar_articles') == 'hide') { return; } if (td_util::get_option('tds_similar_articles_count') == '') { $tds_similar_articles_count = 2; } else { $tds_similar_articles_count = td_util::get_option('tds_similar_articles_count'); } if (td_global::$cur_single_template_sidebar_pos == 'no_sidebar') { $tds_similar_articles_count = 3; } $buffy = ''; $buffy .= '<div class="art-img-text-down similar-articles">'; $args = array(); switch (td_util::get_option('tds_similar_articles_type')) { //by tag case 'by_tag': $tags = wp_get_post_tags($this->post->ID); if ($tags) { $taglist = array(); for ($i = 0; $i <= 4; $i++) { if (!empty($tags[$i])) { $taglist[] = $tags[$i]->term_id; } else { break; } } $args = array('tag__in' => $taglist, 'post__not_in' => array($this->post->ID), 'showposts' => $tds_similar_articles_count, 'ignore_sticky_posts' => 1); } break; //by title //by title case 'by_auth': $args = array('author' => $this->post->post_author, 'post__not_in' => array($this->post->ID), 'showposts' => $tds_similar_articles_count, 'ignore_sticky_posts' => 1); break; //by category //by category default: $args = array('category__in' => wp_get_post_categories($this->post->ID), 'post__not_in' => array($this->post->ID), 'showposts' => $tds_similar_articles_count, 'ignore_sticky_posts' => 1); break; } if (!empty($args)) { //do the query $my_query = new WP_Query($args); if ($my_query->have_posts()) { $buffy .= '<h4 class="block-title"><span>' . __td('SIMILAR ARTICLES') . '</span></h4>'; $td_template_layout = new td_template_layout(''); //invalid sidebar position, it will default to 2 + 1 if (td_global::$cur_single_template_sidebar_pos == 'no_sidebar') { $td_template_layout->set_columns(3); } else { $td_template_layout->set_columns(2); } while ($my_query->have_posts()) { $my_query->the_post(); $buffy .= $td_template_layout->layout_open_element(); $td_module_6 = new td_module_6($post); $buffy .= $td_module_6->render(); $buffy .= $td_template_layout->layout_close_element(); $td_template_layout->layout_next(); } $buffy .= $td_template_layout->close_all_tags(); } } $buffy .= '</div>'; wp_reset_query(); return $buffy; }