在包含多个帖子的页面上的多个位置使用帖子

时间:2015-01-27 作者:bonhoffer

我有三种自定义帖子类型:训练、新闻和业务。我试图在主页上显示每个项目的顶部(最近)项目,并试图将WOD帖子中的特色图片放在主页顶部。

这是90%,代码如下:

            <?php
                $args = array( \'post_type\' => \'wod\', \'posts_per_page\' => 1 );
                $loop = new WP_Query( $args );
                while ( $loop->have_posts() ) :
                  $loop->the_post();
                  $title = get_the_title();
                  $content = get_the_content();
                  $permalink = get_permalink( get_the_ID());
                  $image = get_the_post_thumbnail(get_the_ID(), \'medium\', array( \'class\' => \'img-thumbnail hidden-xs\' ));
                endwhile;
            ?>
            <?php echo $image; ?><!-- I NEED THIS HERE -->
                <?php 
                while (have_posts()) {
                    the_post();
                    get_template_part(\'content\', \'page\');
                } //endwhile;
                ?>
                <div class="box_content">
                    <a href="<?php echo $permalink ?>"><?php echo $title; ?></a>
                    <div class="entry-content">
                        <?php echo $content; ?><!-- I NEED THIS HERE -->
                    </div>
                </div>
                <!-- BUSINESS ITEM -->
                <div class="box_content">
                    <?php
                    $args = array( \'post_type\' => \'business_item\', \'posts_per_page\' => 1 );
                    $loop = new WP_Query( $args );
                    while ( $loop->have_posts() ) : $loop->the_post();
                      the_title( \'<h3>\', \'</h3>\' );
                      echo \'<div class="entry-content">\';
                      the_content();
                      echo \'</div>\';
                    endwhile;
                    ?>
                <!-- NEWS ITEM -->
                <div class="box_content">
                    <?php
                    $args = array( \'post_type\' => \'news_item\', \'posts_per_page\' => 1 );
                    $loop = new WP_Query( $args );
                    while ( $loop->have_posts() ) : $loop->the_post();
                      the_title( \'<h3>\', \'</h3>\' );
                      echo \'<div class="entry-content">\';
                      the_content();
                      echo \'</div>\';
                    endwhile;
                    ?>                 
最大的问题是,训练贴子显示时没有标记,这是由于get\\u The\\u content()没有应用过滤器造成的。我必须解决这个问题,但我很确定我没有有效地解决这个问题,也没有干净的实现,我想尽我所能地学习。

完整代码位于:https://gist.github.com/tbbooher/68ed57b8cd408518ad1e

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

您可以使用the_content 要应用标记的筛选器get_the_content()

$content = get_the_content();
echo apply_filters( \'the_content\', $content );
你也需要这样做get_the_title() 您将使用的位置the_title 过滤器,而不是the_content

只是代码上的另一个注释,请记住使用wp_reset_postdata(); 在关闭while()

结束

相关推荐

Iterate through ID's in loop

我已经基于category创建了一个自定义循环,现在我想运行一个函数,将当前帖子的特定ID作为参数进行迭代。我有。。$secondary_loop = new WP_Query(array( \'category_name\' => get_the_title(), \'posts_per_page\' => 5 )); while ( $secondary_loop->have_posts() ) : $secondary_loop->the_post();&#x