添加到现有查询后如何循环遍历自定义帖子类型

问题描述 投票:0回答:1

我对一个项目有点困惑,如果有人能帮助我完成这个项目,我将不胜感激。 我到处搜索了一些参考资料(当然首先是这里),但我只能找到我需要的一些东西。

我需要最终得到以下结构:

<!--LOOP 1 -  WORD PRESS PARENT PAGES-->
<div id="post-parent1-name">...</div>

<div id="post-parent2-name">

    <h2><?php the_title(); ?></h2>
    <div class='post-content'><?php the_content(); ?></div>

    <!--LOOP 2 -  WORD PRESS CHILDREN PAGES-->
    <div id="post-child1-name">...</div>

    <div id="post-child2-name">
        <h3><?php the_title(); ?></h3>  

        <!--LOOP 3 - WORD PRESS CUSTOM POST TYPE-->
        <div id="custom-post-type-name">
            <h4><?php the_title(); ?></h4>
            <div class='post-content'><?php the_content(); ?></div>
        </div>
    </div>

    <div id="post-child3-name">...</div>

</div>

<div id="post-parent3-name">...</div>
<div id="post-parent4-name">...</div>

我在functions.php中使用了以下过滤器将自定义帖子类型添加到查询中:

<?php
 function insert_post( $query ) {
 if ( $post->post_name == 'my_parent_post_name' && $query->is_main_query() )
 $query->set( 'post_type', array( 'post', 'my_custom_post_type') );
 return $query;
 }
 add_filter( 'pre_get_posts', 'insert_post' );
?>

我已经设法让第一个和第二个正常工作,但是我不知道如何让第三个正常工作(这是我的自定义帖子类型)以便为我带来标题、内容和分别是缩略图。

抱歉,大家,我知道这看起来有点令人困惑,但我希望这是有道理的。

干杯, 道格。

php wordpress-theming
1个回答
1
投票

经过几个小时尝试找到该问题的答案,我终于实现了我的目标:

<?php global $wp_query; ?>

功能参考/查询帖

我仍然不太确定该操作的用法

add_action( 'pre_get_posts' , 'ucc_pre_get_posts_filter' );
,尽管我已经设法向我预先存在的查询添加一个新数组而不影响它:

先前存在的查询:

<?php query_posts(array('post_type' => 'page', 'order'=>'ASC', 'post_parent' => 0)); ?>

这里是第一个循环

使用 $wp_query 包含新数组:

<?php
                                                    $args = array_merge( $wp_query->query_vars, array( 'post_type' => 'my_custom_post_type', 'posts_per_page' => 5 ) );
                                                    query_posts( $args );
                                                ?>

第三个循环在这里

欢呼吧伙计们!

© www.soinside.com 2019 - 2024. All rights reserved.