HEX
Server: Apache
System: Linux host.fiblib.com 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025 x86_64
User: agritoday (1002)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: /home/agritoday/www/wp-content/plugins/td-composer/legacy/common/wp_booster/td_more_article_box.php
<?php
class td_more_article_box {


    static function on_wp_footer_render_box() {
        global $post;
        /**
        * More articles on post page
        */

        if(is_single() and td_util::get_option('tds_more_articles_on_post_pages_enable') == 'show') {

            //if to run the query
            $td_run_query = false;

            //current post ID
            $td_this_post_id = 0;

            //holds the tags for this post
            $td_get_post_tags = '';
            $td_post_tags = array();

            //primary category
            $primary_category = 0;

            //get the $post->ID
            if(!empty($post->ID) and intval($post->ID) > 0) {
                $td_this_post_id = intval($post->ID);
            }


            //create $args array  //'orderby' => 'date', 'order' => 'DESC' - this is the default for WP_Query
            switch(td_util::get_option('tds_more_articles_on_post_pages_display')){
                //Same Tag
                case 'same_tag':
                    if($td_this_post_id > 0) {
                        $td_get_post_tags = get_the_tags($td_this_post_id);

                        //itinerate to get the tags ids
                        if(!empty($td_get_post_tags)){
                            foreach($td_get_post_tags as $td_object_tag){
                                $td_post_tags[] = $td_object_tag->term_id;
                            }
                        }

                        //if we have some tags
                        if(!empty($td_post_tags) and count($td_post_tags) > 0) {
                            $args = array('tag__in' => $td_post_tags, 'orderby' => 'rand');
                            $td_run_query = true;
                        }
                    }
                    break;

                //Same Author
                case 'same_author':
                    if(!empty($post->post_author) and intval($post->post_author) > 0) {
                        $args = array('author' => intval($post->post_author), 'orderby' => 'rand');
                        $td_run_query = true;
                    }
                    break;

                //Random
                case 'random':
                    $args = array ( 'orderby' => 'rand');
                    $td_run_query = true;
                    break;

                //Same Category
                case 'same_category':
                    $primary_category = intval(td_global::get_primary_category_id());
                    if($primary_category > 0) {
                        $args = array('cat' => $primary_category, 'orderby' => 'rand');
                        $td_run_query = true;
                    }
                    break;

                //Latest Article
                default:
                    $args = array('orderby' => 'date', 'order' => 'DESC');
                    $td_run_query = true;
                    break;
            }

            //if to run the query
            if($td_run_query === true) {
                //add number of post to $args
                $td_nr_of_posts= intval(td_util::get_option('tds_more_articles_on_post_pages_number'));
                if($td_nr_of_posts > 0) {
                    $args['posts_per_page'] = $td_nr_of_posts;
                } else {
                    $args['posts_per_page'] = 1;
                }

                if($td_this_post_id > 0) {
                    $args['post__not_in'] = array( $td_this_post_id );
                }

                $args['ignore_sticky_posts'] = 1;

                //creating a new wp_query object foar our query
                $td_query_more_article = new WP_Query($args);
            }

            //add o post pages the more stories box
            if(!empty($td_query_more_article->posts)) {?>
                <div class="td-more-articles-box">
                    <i class="td-icon-close td-close-more-articles-box"></i>
                    <span class="td-more-articles-box-title"><?php echo __td('MORE STORIES', TD_THEME_NAME) ?></span>
                    <div class="td-content-more-articles-box">

                    <?php
                    $td_display_module = td_util::get_option('tds_more_articles_on_post_pages_display_module');
                    //itinerate through the result set and display results
                    foreach($td_query_more_article->posts as $each_post) {

	                    switch($td_display_module) {
		                    //module 2
		                    case 2:
			                    $td_mod = new td_module_2($each_post);
			                    echo $td_mod->render();
			                    break;

		                    //module 3
		                    case 3:
			                    $td_mod = new td_module_3($each_post);
			                    echo $td_mod->render();
			                    break;

		                    //module 4
		                    case 4:
			                    $td_mod = new td_module_4($each_post);
			                    echo $td_mod->render();
			                    break;

		                    //module 5
		                    case 5:
			                    $td_mod = new td_module_5($each_post);
			                    echo $td_mod->render();
			                    break;

		                    //module 6
		                    case 6:
			                    $td_mod = new td_module_6($each_post);
			                    echo $td_mod->render();
			                    break;

		                    //module 7
		                    case 7:
			                    $td_mod = new td_module_7($each_post);
			                    echo $td_mod->render();
			                    break;

		                    //module 8
		                    case 8:
			                    $td_mod = new td_module_8($each_post);
			                    echo $td_mod->render();
			                    break;

		                    //module 9
		                    case 9:
			                    $td_mod = new td_module_9($each_post);
			                    echo $td_mod->render();
			                    break;

		                    default:
			                    $td_mod = new td_module_1($each_post);
			                    echo $td_mod->render();
			                    break;
	                    }

                    } ?>
                    </div>
                </div><?php
            }//if we have posts
        }//end more articles on post

    }//end function render
}