Wordpress - 将标签添加为类? (post_class)

时间:2012-02-27 20:27:10

标签: php html wordpress tags taxonomy

我很惊讶我无法在网上找到答案,但有没有办法在课程中添加帖子的标签?

我正在尝试为post_class添加一个过滤器,但它无法正常工作:

function tag_to_class($classes) {
        global $post;
        foreach((get_the_tags($post->ID)) as $tag)
            $tags[] = $tag->name;
            return $tags;
    }
    add_filter('post_class', 'tag_to_class');
    add_filter('body_class', 'tag_to_class');

我收到错误:

  

警告:为foreach()提供的参数无效

任何帮助非常感谢, 谢谢!

2 个答案:

答案 0 :(得分:0)

get_the_tags必须在The Loop中使用,但如果您已经在The Loop中,则可以使用the_tags获取当前帖子上的标记列表,如下所示:

   <div class="<?php the_tags("", " ", "");?>">

我现在没有使用wordpress,但我认为你可以将它们添加到post_class 像这样:

<div class="<?php post_class(the_tags("", " ", "")); ?>">

答案 1 :(得分:0)

这对我有用:

function tags_to_body_class( $classes ) {
    global $post;
    $posttags = get_the_tags( $post->ID );

    if ( $posttags ){
        foreach( $posttags as $tag )
            $tags[] = $tag->slug;
        return $tags;
}
add_filter('body_class', 'tags_to_body_class');