繁体   English   中英

WordPress存档循环-根据帖子显示类别或自定义帖子类型名称

[英]WordPress Archive Loop - Displaying category or custom post type name, depending on post

我创建了一个自定义循环,可在一页上显示所有帖子和自定义帖子类型的帖子。

我希望在标题下显示帖子的类别,或帖子类型“案例研究”,具体取决于帖子所属的部分。 我的自定义帖子类型“案例研究”中没有类别。

此处编写代码的方式将显示帖子的类别,如果该帖子属于自定义帖子类型“案例研究”,则不显示任何内容。 我在设置条件语句以显示类别名称或帖子类型名称时遇到麻烦。

<?php $all_query = new WP_Query(array('post_type'=>array( 'post', 'case-study'),     
'post_status'=>'publish', 'posts_per_page'=>-1)); ?>

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

<?php the_title()?>
<?php the_category(', '); ?>
<?php the_excerpt();?>

<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else : ?>
<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>

** EDIT我已经添加了此代码(以替换the_category),但是我意识到它很草率,可能还有更好的方法。 任何输入或指针,将不胜感激!

<?php if (in_category('blog')) {  ?>
<?php the_category(', '); ?>
<?php } elseif  (in_category('pr')){  ?>
<?php the_category(', '); ?>
<?php } else {  ?>
<a href="<?php echo site_url(); ?>/case-studies">Case Study</a>
<?php } ; ?>

那这个呢? 我认为get_post_type()将在循环中使用当前帖子。 如果不是,则需要将ID或WP_Post对象传递给该函数。

if( get_post_type() == 'post'){
    the_category(', ');
}elseif( get_post_type() == 'case-study'){
    //your code
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM