如果与帖子类别匹配,则显示自定义帖子类型的内容

时间:2014-03-03 14:16:12

标签: php wordpress plugins

我解决了使用this solution在帖子中显示自定义帖子类型的问题,但是,我想过滤甚至更多,只显示与主帖子类别匹配的自定义帖子类型的帖子(或者更精确的slu ,,但解决方案没有区别。)

我使用这个获得主帖的slu ::

$category_main = get_the_category();
$cat_slug = $category_main[0]->slug;
echo $cat_slug; // This is just to see if I got the right output

我以相同的方式从自定义帖子类型中获取了slug,但它在循环中循环遍历自定义帖子类型。

$category_course = get_the_category();
$cat_slug_course = $category_course[0]->slug;
echo $cat_slug_course;

所以,我现在想要的是,只显示与原始帖子的slug匹配的自定义类型的帖子。

在伪代码中,这将是:

If $cat_slug_course is equal to $cat_slug, display all custom posts with slug $cat_slug_course and none other

我觉得这不是特定于WordPress的东西,而是PHP,这就是我在这里发布的原因。

这是用于显示自定义类型帖子的循环。

$args = array( 'post_type' => 'Course', 'posts_per_page' => 2 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();

    $category_course = get_the_category();
    $cat_slug_course = $category_course[0]->slug;
    echo $cat_slug_course; // This is just to see if I got the right output
    echo '<br />';    
    the_title();
    echo '<div class="entry-content">';
    the_content();
    echo '</div>';
endwhile; ?>

1 个答案:

答案 0 :(得分:0)

好的,这比预期的要简单。

<?php if ($cat_slug_course == $cat_slug): ?>
    <div class="landing_title">
        <?php the_title(); ?>
    </div>
        <?php the_content();?>
    </div>
<?php endif; ?>

解决它。没想到,但确实如此。