我制作了一个自定义循环,在一个页面上显示所有帖子和自定义帖子类型的帖子。
我希望在标题下显示帖子的类别,或帖子类型"案例研究",具体取决于帖子属于哪个部分。我的自定义帖子类型"案例研究"。
中没有类别这里编写代码的方式,它将显示帖子的类别,如果帖子属于自定义帖子类型,则会显示任何内容"案例研究"。我在设置条件语句时无法显示类别名称或帖子类型名称。
<?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; ?>
**编辑 我已添加此代码(以替换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 } ; ?>
答案 0 :(得分:0)
这个怎么样?我认为get_post_type()
将使用循环中的当前帖子。如果不是,则需要将ID或WP_Post对象传递给该函数。
if( get_post_type() == 'post'){
the_category(', ');
}elseif( get_post_type() == 'case-study'){
//your code
}