术语和帖子分类中的循环

时间:2014-06-14 作者:davidcondrey

我很难让它正常工作。我已经创建了一个名为article\\u subjects的自定义分类法,并正在循环,显示每个术语;但我正在努力为每学期获取最新帖子

    <section>
    <?php
        $args = array (
            \'orderby\'    => \'name\',
            \'order\'      => \'ASC\',
            \'hide_empty\' => true,
            \'number\' =>      \'4\'
        );

        $terms = get_terms( \'article_subjects\', $args );
        foreach ( $terms as $term ) { ?>
            <div>

            <?php 
                $postargs = array (
                    \'tax_query\' => array (
                        array (
                            \'taxonomy\' => \'article_subjects\',
                            \'field\'    => \'name\',
                            \'terms\'    => $term->slug,
                            \'number\'    => \'1\'
                        )
                    )
                );
                global $wp_query;
                $posts = new WP_Query($args);

                foreach ( $posts as $post ) { ?>
                    <p class="date"><?php echo $post->the_date ?></p>
                    <h3><?php echo $post->the_title ?></h3>
                    <p class="description"><?php echo $post->the_excerpt ?></p>
                <?php } ?>
            </div>
        <?php }
    ?>
</section>

2 个回复
最合适的回答,由SO网友:leromt 整理而成

有几件事不对:

在代码中,您在WP\\u查询调用中使用的$args数组与在get\\u terms调用中使用的相同。也许您打算在WP\\u查询调用中使用$postargs?

米洛是对的。。。您应该使用posts\\u per\\u page,而不是number。

您的tax\\u query数组元素“field”显示“name”,但您传递的是术语slug,而不是术语name。

希望这有助于:Here is the reference

SO网友:davidcondrey

以前把事情搞混了,现在就开始了。谢谢这是我最终使用的代码:

<section id="top-columns">
    <?php $args = array (
        \'orderby\'    => \'name\',
        \'order\'      => \'ASC\',
        \'hide_empty\' => true,
        \'number\' =>      \'4\'
    );

    $terms = get_terms( \'article_subjects\', $args );
    foreach ( $terms as $term ) {
        $post_args = array (
            \'post_type\'  => \'post\',
            \'article_subjects\' => $term->name,
            \'posts_per_pge\'    => \'1\'
        );

        $query = new WP_Query( $post_args );

        while ( $query->have_posts() ) { 
            $query->the_post(); ?>

            <div id="post-<?php the_ID(); ?>">
                <?php 
                    the_date();
                    the_title();
                    the_excerpt();
                ?>
            </div>
        <?php }

        wp_reset_postdata();
       } ?>
</section>

结束

相关推荐

Vimeo Froogaloop API,在小提琴中工作,但不能在WP中工作

我试图利用Vimeo的Froogaloop API,在用户单击某个元素时暂停视频嵌入。我让它在my Fiddle 但它在我的Wordpress环境中不起作用。我从this thread 创建我正在处理的网站的简化版本;HTML<div id=\"player1\" class=\"col\"> <div class=\"vid\"> <iframe src=\"//player.vimeo.com/video/75817361?titl

术语和帖子分类中的循环 - 小码农CODE - 行之有效找到问题解决它

术语和帖子分类中的循环

时间:2014-06-14 作者:davidcondrey

我很难让它正常工作。我已经创建了一个名为article\\u subjects的自定义分类法,并正在循环,显示每个术语;但我正在努力为每学期获取最新帖子

    <section>
    <?php
        $args = array (
            \'orderby\'    => \'name\',
            \'order\'      => \'ASC\',
            \'hide_empty\' => true,
            \'number\' =>      \'4\'
        );

        $terms = get_terms( \'article_subjects\', $args );
        foreach ( $terms as $term ) { ?>
            <div>

            <?php 
                $postargs = array (
                    \'tax_query\' => array (
                        array (
                            \'taxonomy\' => \'article_subjects\',
                            \'field\'    => \'name\',
                            \'terms\'    => $term->slug,
                            \'number\'    => \'1\'
                        )
                    )
                );
                global $wp_query;
                $posts = new WP_Query($args);

                foreach ( $posts as $post ) { ?>
                    <p class="date"><?php echo $post->the_date ?></p>
                    <h3><?php echo $post->the_title ?></h3>
                    <p class="description"><?php echo $post->the_excerpt ?></p>
                <?php } ?>
            </div>
        <?php }
    ?>
</section>

2 个回复
最合适的回答,由SO网友:leromt 整理而成

有几件事不对:

在代码中,您在WP\\u查询调用中使用的$args数组与在get\\u terms调用中使用的相同。也许您打算在WP\\u查询调用中使用$postargs?

米洛是对的。。。您应该使用posts\\u per\\u page,而不是number。

您的tax\\u query数组元素“field”显示“name”,但您传递的是术语slug,而不是术语name。

希望这有助于:Here is the reference

SO网友:davidcondrey

以前把事情搞混了,现在就开始了。谢谢这是我最终使用的代码:

<section id="top-columns">
    <?php $args = array (
        \'orderby\'    => \'name\',
        \'order\'      => \'ASC\',
        \'hide_empty\' => true,
        \'number\' =>      \'4\'
    );

    $terms = get_terms( \'article_subjects\', $args );
    foreach ( $terms as $term ) {
        $post_args = array (
            \'post_type\'  => \'post\',
            \'article_subjects\' => $term->name,
            \'posts_per_pge\'    => \'1\'
        );

        $query = new WP_Query( $post_args );

        while ( $query->have_posts() ) { 
            $query->the_post(); ?>

            <div id="post-<?php the_ID(); ?>">
                <?php 
                    the_date();
                    the_title();
                    the_excerpt();
                ?>
            </div>
        <?php }

        wp_reset_postdata();
       } ?>
</section>

相关推荐

Increase offset while looping

我正在编写一个自定义帖子插件,它将自定义帖子分组显示为选项卡。每组4个岗位。是否可以编写一个偏移量随每次循环而增加的查询?因此,结果将是:-第一个查询显示从1到4的帖子-第二个查询显示从5到8的帖子-第三个查询显示从9到12的帖子等。 <div class=\"official-matters-tabs\"> <?php $args = array(\'post_type\' => \'official-matters\', \'showp