循环内条件FOR POST类型(最近发布)

时间:2016-10-16 作者:hyp0thetical

我正在研究owl转盘与WP的集成。

我从一个帖子类型数组中提取了它,但现在我想显示一个基于哪个帖子类型的自定义字符串

<div class="owl-carousel">

    <?php $loop = new WP_Query(array(\'post_type\' => array(\'resources\', \'videos\', \'webinars\'), \'posts_per_page\' => -1, \'orderby\'=> \'ASC\')); ?> 
    <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
    <div class="owl-recent-post"> 

        <a href="<?php print get_permalink($post->ID) ?>">
            <?php echo the_post_thumbnail(); ?></a>
        <div class="owl-post-text">
            <h4><?php print get_the_title(); ?></h4>
            <?php
                if ($post->post_type == "resources") {
                    echo \'Resource Specific Stuff\';
                }
            ?>
            <a class="btn " href="<?php print get_permalink($post->ID) ?>">More</a>
        </div>
    </div> 
    <?php endwhile; ?>
</div> 
我正在使用if语句,但没有得到任何结果(我仔细检查了post类型的命名,因此我的方法似乎是错误的),我如何实现这一点?提前感谢您的帮助

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

$post 是全局变量,而不是超全局变量,在执行此操作之前,您需要声明您打算使用它:

global $post;
但在这种情况下,使用起来会更容易:

get_post_type();
其他注意事项:

你从来不会if ( have_posts() ) 检查无清理呼叫wp_reset_postdata() 这将导致在此旋转木马之后使用主查询时出现问题\'posts_per_page\' => -1 可能会导致一些可怕的结果,总是设定一个上限,即使这是一个你永远无法达到的愚蠢的上限,例如50或100,这样你就不会以超级滞后的边缘情况结束。我想推荐10张,毕竟大多数人从来没有看过第一张幻灯片,为什么他们会看第11张呢使用echo 或使用print 但是坚持一个,不要混搭如果一篇文章没有特色图片,那么就不可能点击,使用has_post_thumbnail 如果没有占位符,请插入占位符

相关推荐