如何测试帖子是否属于主要类别

时间:2017-08-23 作者:David Siqueira

我试图制作一个代码,在每篇文章的末尾显示一个图像,但我需要为每个文章类别显示一个特定的图像。我正在使用以下代码:

<?php 
    if (in_category(\'category1\')||){
        echo \'<img src="https://example.com/category1">\';
    }
    elseif (in_category(\'category2\')){
        echo \'<img src="https://example.com/category2">\';
    }
    elseif (in_category(\'category3\')){

        echo \'<img src="https://example.com/category3">\';
    }
    elseif (in_category(\'category4\')){
        echo \'<img src="https://example.com/category4">\';
    }
?>
这是可行的,但我现在的问题是,一些帖子拥有所有类别,我需要测试帖子的主要类别。是否有执行此操作的功能?

2 个回复
SO网友:Jitender Singh

如果要在特定的category 或apost. 您可以根据需要操作此代码:

add_filter( \'the_content\', \'add_a_image_in_post\' );
function add_a_image_in_post($content){
    global $post;
    if($post->post_type == \'post\'){
        //error_log(print_r($post, true), 3, WP_CONTENT_DIR.\'/debug.log\');
        $all_cats = get_the_category($post);
        foreach($all_cats as $cat){
            if($cat->slug == \'sticky\'){
                return $content."<img src=#1 >";
            }
        }
        //error_log(print_r($all_cats, true), 3, WP_CONTENT_DIR.\'/debug.log\');
        return $content."<img src=#2 >";
    }
    return $content.$content."<img src=#3 >";
}

SO网友:Johansson

如果类别处于同一级别(例如,所有类别都是顶级类别),则没有优势。所有人都受到同样的待遇。

您可以在这里设置类别的层次结构,然后检索层次结构中的第一个类别。完成上述操作后,可以通过以下方式检索:

$categories = get_the_category(); 
$first_category = $categories[0]->cat_ID;

结束