Поддержка Темы и шаблоны Шаблон:категории, тэги

  • Добрый день!
    Мой сайт состоит из 6 блогов. На главной странице перечислены категории и теги. При нажатии гость перенаправляется на страницу, где показаны все записи со всех блогов, помеченные выбранной категорией/тэгом. На практике при нажатии на любой тэг/категорию, на странице высвечивается один и тот же набор записей.
    Часть кода в шаблоне tags.php:

    <?php
    	       	global $wpdb;
    	       	global $post;
    		    $tag = $_GET['avain'];
    		    $postarr = array();
    		    $blogs = $wpdb->get_results( "SELECT blog_id FROM {$wpdb->blogs} WHERE blog_id != {$wpdb->blogid} AND site_id = '{$wpdb->siteid}'  AND spam = '0' AND deleted = '0' AND archived = '0'", ARRAY_A);
    		    array_unshift($blogs, 1);
    		    foreach($blogs as $blog) {
    		        $wpdb->set_blog_id($blog[ 'blog_id' ]);
    		        $tax_id = $wpdb->get_var("SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE taxonomy = 'post_tag' OR taxonomy = 'category' AND term_id IN (SELECT term_id FROM $wpdb->terms WHERE name='$tag')");
    		        $post_id = $wpdb->get_results("SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id = $tax_id");
    		         foreach ($post_id as $id) {
        $postarr[] = $id->object_id;
    }
    
    $postsAsCommaSepString = implode( ',', $postarr ); 
    
    $posts = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}posts WHERE ID IN ($postsAsCommaSepString)");
    		        foreach ($posts as $post):setup_postdata($post); ?>
    
    		            <div class="post"><header class="post-header"><div class="date-holder"><span><?php the_time('j F, Y') ?></span></div>
    		            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></header>
    		            <div class="post-content"><?php the_content(); ?></div></div>
    		        <?php endforeach;
    		        wp_reset_postdata();
    		    }
    		    ?>

    Код в шаблоне functions.php:

    function tag_posts() {
        global $wpdb;
        $tag = $_GET['avain'];
        $taxarr = array();
        $postarr = array();
        $blogs = $wpdb->get_results( "SELECT blog_id FROM {$wpdb->blogs} WHERE blog_id != {$wpdb->blogid} AND site_id = '{$wpdb->siteid}'  AND spam = '0' AND deleted = '0' AND archived = '0'", ARRAY_A);
        array_unshift($blogs, 1);
        foreach($blogs as $blog) {
            $wpdb->set_blog_id($blog[ 'blog_id' ]);
            $tax_id = $wpdb->get_var("SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE term_id IN (SELECT term_id FROM $wpdb->terms WHERE name='$tag')");
            $post_id = $wpdb->get_results("SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id = $tax_id");
             foreach ($post_id as $id) {
        $postarr[] = $id->object_id;
    }
    
    $postsAsCommaSepString = implode( ',', $postarr ); 
    
    $posts = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}posts WHERE ID IN ($postsAsCommaSepString)");
            global $post;
            foreach ($posts as $post):setup_postdata($post); 
    
                '<div class="post"><header class="post-header"><div class="date-holder"><span>'.the_time('F jS, Y').'</span></div>';
                '<a href="'.$post->guid.'">'.$post->post_title.'</a></header>';
                '<div class="post-content">'.the_content().'</div></div>';
            endforeach;
        }
    }

    Очень надеюсь на вашу помощь!

  • Тема «Шаблон:категории, тэги» закрыта для новых ответов.