【问题标题】:WordPress Archive Loop - Displaying category or custom post type name, depending on postWordPress 存档循环 - 显示类别或自定义帖子类型名称,具体取决于帖子
【发布时间】:2017-06-28 17:59:07
【问题描述】:

我制作了一个自定义循环,在一个页面上显示所有帖子和自定义帖子类型帖子。

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

这里的代码写法,如果帖子属于自定义帖子类型“案例研究”,它将显示帖子的类别,并且不显示任何内容。我在设置条件语句以显示类别名称或帖子类型名称时遇到问题。

<?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 } ; ?>

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

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

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

    【讨论】:

    • 像魅力一样工作 :) 谢谢!!
    猜你喜欢
    • 2015-11-09
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多