Wordpress列出了按给定类别的标签分组的所有帖子

时间:2012-11-27 16:03:51

标签: php wordpress-theming wordpress

我有一个循环来获取给定标签按类别分组的所有帖子(请参阅下面的代码)。我需要转过来并按照给定类别的标签执行完全相同的操作。

在代码示例中,我将所有帖子标记为“torrington”,然后执行循环以显示按类别分组的类别(例如“餐馆”)。

所以相反,我需要将所有项目分类为“餐馆”,然后按标签分组(例如“torrington”,“danbury”等)。

<?php           
        // get all the categories from the database
        $cats = get_categories(); 
            // loop through the categries
            foreach ($cats as $cat) {
                // setup the cateogory ID
                $cat_id= $cat->term_id;

                // create a custom wordpress query
                query_posts("cat=$cat_id&tag=torrington&post_per_page=100");

                // start the wordpress loop!
                if (have_posts()) :     

                // Make a header for the category
                echo '<h2 class="cat-title">'.$cat->name.'</h2>';

                while (have_posts()) : 
                the_post(); ?>

                    <?php // create our link now that the post is setup ?>
                    <div class="listing">
                    <a href="<?php the_permalink();?>"><?php the_title(); ?></a>
                    <?php the_content(); ?>
                    </div>
                    <?php //echo '<hr/>'; ?>

                <?php endwhile; endif; // done our wordpress loop. Will start again for each category ?>
            <?php } // done the foreach statement ?>
编辑:我已经做到了这一点,但是query_posts语句似乎什么也没有回复:

 <?php           
        // get all the categories from the database
        $tags = get_tags(); 
            // loop through the categries
            foreach ($tags as $tag) {
                echo($tag->name);
                // setup the cateogory ID
                $tag_id = $tag->term_id;

                echo($tag_id);

                // create a custom wordpress query
                query_posts("tag_id=$tag_id&cat=eats&post_per_page=100");

                // start the wordpress loop!
                if (have_posts()) :     

                echo('posts');
                // Make a header for the category
                echo '<h2 class="cat-title">'.$tag->name.'</h2>';

                while (have_posts()) : 
                the_post(); ?>

                    <?php // create our link now that the post is setup ?>
                    <div class="listing">
                    <a href="<?php the_permalink();?>"><?php the_title(); ?></a>
                    <?php the_content(); ?>
                    </div>
                    <?php //echo '<hr/>'; ?>

                <?php endwhile; endif; // done our wordpress loop. Will start again for each category ?>
            <?php } // done the foreach statement ?>

1 个答案:

答案 0 :(得分:0)

知道了。这是tag_id=$tag_id而不是tag=$tag_id的简单更改。

以上代码已更新。相关行是query_posts("tag_id=$tag_id&cat=eats&post_per_page=100");