在运行wp_Query之前拉出单个帖子

时间:2016-11-01 作者:mpickett

我有一个功能正常的wp\\U查询循环,它从自定义职位类型中提取公司的所有员工。我想出了如何按姓氏的字母顺序显示员工。我现在需要在网站前面员工列表的最开始显示公司的所有者,但仍需要其他员工排成一行。

我知道我可以使用两个单独的循环,但当第一个循环仅用于拉动某个帖子并显示它时,这似乎有些过头了。

有没有一种方法可以构建一个循环来拉取单个帖子并始终首先显示它,然后运行循环以按姓氏的字母顺序显示其余结果?

下面是我现在看到的循环和部分显示代码:

<div class="row team-row">
                    <?php add_filter( \'posts_orderby\', \'posts_orderby_lastname\' );
                        $loop = new WP_Query( array(
                        \'post_type\' => \'team\',
                        \'location\'  => $location->slug
                        ) );
                    ?>

                    <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

                        <div class="col-md-2 team-member">
                            <?php the_post_thumbnail(\'medium\'); ?>
                            <h3 class="entry-title"><?php the_title( \'\' ); ?></h3>
                            <span class="team-position"><?php the_field(\'position\'); ?></span><br />
                            <span class="team-phone"><?php the_field(\'phone\'); ?></span><br />

                            <button class="btn btn-small team-btn" data-toggle="modal" data-target="#team-<?php the_ID(); ?>">
                                View Bio
                            </button>

                            <div class="modal fade" id="team-<?php the_ID(); ?>" tabindex="-1" role="dialog" aria-labelledby="team-<?php the_ID(); ?>Label" aria-hidden="true">
                                <div class="modal-dialog">
                                    <div class="modal-content">
                                        <div class="modal-header">
                                            <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
                                            <h4 class="modal-title" id="team-<?php the_ID(); ?>Label"><?php the_title( \'\' ); ?></h4>
                                        </div>
                                        <div class="modal-body">
                                            <div class="entry-content">
                                                <?php the_content(); ?>
                                            </div>
                                        </div>
                                        <div class="modal-footer">
                                            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    <?php endwhile; ?>

1 个回复
SO网友:GreyWolfram

我能想到的一种方法是,首先获取要显示的帖子,它将返回WP post对象,然后使用get\\u posts查询自定义帖子类型,不包括该帖子的ID,最后将其推送到get\\u posts提供给您的数组中。

//say this is the first post you want to show
$first_post = get_post( 23 );

//query all posts excluding the first post you want to display
$all_post_except_first = get_posts( array(
        \'post_type\' => \'your_custom_post_type_here\',
        \'numberposts\' => -1,
        \'post__exclude\' => 23,
) );

//then put it on the first of the array
array_push( $all_post_except_first, $first_post );

相关推荐

当in_the_loop()为假时,何时以及为什么is_Single(‘my_cpt’)为真?

我正在使用模板系统的示例代码。此地址的页码:http://project.test/my_cpt/hello-post/.无法理解原因is_singular( \'my_cpt\' ) 是true 虽然in_the_loop() 是false.在页面模板中The Loop "E;“工程”:if ( have_posts() ) { while ( have_posts() ) { the_post(); ?>