WordPress嵌套循环不工作

时间:2013-12-02 作者:Danz0r77

为什么此代码无法检索自定义帖子类型“graphic design”的帖子?

<?php
    $args = array( \'pagename\' => \'graphic-design\' );
    $query = new WP_Query($args);
    while ( $query->have_posts() ) : $query->the_post();
    ?>

        <div id="graphic-design" class="active page clearfix">

            <h3 class="subtitle"><?php the_title(); ?></h3>

            <?php
            $inner_args = array( \'post_type\' => \'graphic-design\' );
            $inner_query = new WP_Query( $inner_args );
            while ( $inner_query->have_posts() ) : $inner_query->the_post();
            ?>

                <div class="work">
                    <?php the_post_thumbnail(); ?>
                </div>

            <?php 
            endwhile;
            wp_reset_postdata();
            ?>

        </div>

    <?php 
    endwhile;
    wp_reset_postdata();
    ?>
当我单独运行内部查询时,外部查询之外的查询工作正常。

1 个回复
SO网友:Ravinder Kumar

你检查过“平面设计”CPT的slug吗?。页面slug和CPT slug之间可能存在冲突?

你不能真正按照你想做的方式去做你想做的事情。

/图形设计/已在自定义帖子类型中注册为与该自定义帖子类型关联的自定义帖子类型permalink。

当您为页面提供与自定义帖子类型permalink关联的相同permalink时,会产生冲突。WordPress知道如何根据请求的URL和所谓的重写规则显示页面。这是您的站点可以显示的URL所有可能规则的顺序列表。它一个接一个地在列表中查找匹配的规则。自定义帖子类型规则在序列中位于页面规则之前。所以当WordPress看到这个网站时。com/portfolio/it知道这是一个定制的post-type归档页面,这就是它将要显示的内容。它甚至没有达到其规则中了解站点的部分。com/graphic design/as-a页面,因为它已经对找到的第一个匹配项(自定义帖子类型存档页面)执行了操作。URL冲突-两种类型的内容试图在同一URL上显示。那行不通。

WordPress论坛的答案read more

结束

相关推荐

Add filter to comments loop?

我正在制作一个插件,用于存储推荐人数据以供评论。我已经创建了数据库表,并且在进行注释时正确存储了数据。现在,我想为每个注释在注释块上附加一个自定义div。如何向注释循环添加过滤器?我想说“如果这个评论ID在我的表中有一个推荐人,那么在我的特殊div中打印出推荐人”。我可以自己写函数,我只需要在哪里注入函数的帮助。