PHP:Wordpress循环通过类别并输出所有帖子图像

时间:2016-04-08 20:01:20

标签: php wordpress image twitter-bootstrap

我有一个bootstrap" tab"系统正在进行,每个标签都是自己的类别名称:

<?php $categories= get_categories();
    $firstCat = 1;
    foreach ($categories as $cat) {
        $trimmedCatName = str_replace(' ', '', $cat->cat_name);
        echo '<li';
        if ($firstCat == 1) {
            echo ' class="active"';
        }
        echo '>'.'<a href="#'.$trimmedCatName.'"  data-toggle="tab">'.$cat->cat_name.' <small style="color:#447294">('.$cat->category_count.')</small></a></li>';
        $firstCat++;
    }
?>

以上^代码工作正常并且很好地设置了标签。

我遇到的问题是在类别中循环播放&#34; tab-content&#34;然后为每个单独的类别显示该类别的所有帖子标题/图像。这就是我到目前为止所拥有的:

<div class="tab-content">
    <?php $categories= get_categories();
            $firstCat = 1;
            foreach ($categories as $cat) {
                $trimmedCatName = str_replace(' ', '', $cat->cat_name);
                echo '<div class="tab-pane ';
                if ($firstCat == 1) {
                    echo 'active';
                }
                echo '" id="#'.$trimmedCatName.'">'.
                '<select class="image-picker">';

                $posts = get_posts($cat);
                if ($posts) {
                    foreach ($posts as $p) {
                        echo '<option>';
                        echo get_the_post_thumbnail( $p->ID, 'medium' ).'<br>';
                        echo '</option>';
                    }
                }

                echo '</select>';
                $firstCat++;
            }
    ?>
</div>

我对如何正确获取此代码感到困惑。

1 个答案:

答案 0 :(得分:0)

<div class="tab-content">
    <?php $categories= get_categories();
            $firstCat = 1;
            foreach ($categories as $cat) {
                $trimmedCatName = str_replace(' ', '', $cat->cat_name);
                echo '<div class="tab-pane ';
                if ($firstCat == 1) {
                    echo 'active';
                }
                echo '" id="#'.$trimmedCatName.'">'.
                '<select class="image-picker">';

                $posts = get_posts(array('category' => $cat->term_id));
                if ($posts) {
                    foreach ($posts as $p) {
                        echo '<option>';
                        echo get_the_post_thumbnail( $p->ID, 'medium' ).'<br>';
                        echo '</option>';
                    }
                }

                echo '</select>';
                $firstCat++;
            }
    ?>
</div>

注意我替换了$ cat-&gt; term_id

如果你仍然没有得到任何东西,请尝试硬编码类别ID,看看你是否得到任何结果。

试试这个..

add_action('init','test');
function test(){
    var_dump(get_posts(array('category' => 1)));    
}