我正在研究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类型的命名,因此我的方法似乎是错误的),我如何实现这一点?提前感谢您的帮助
最合适的回答,由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
如果没有占位符,请插入占位符