2012-02-27 15 views
0

私はどこでもオンラインで回答を見つけることができなかったのに驚いていますが、クラスの投稿のタグを追加する方法はありますか?Wordpress - タグをクラスとして追加しますか? (post_class)

私は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'); 

私はエラーを取得する:

Warning: Invalid argument supplied for foreach()

大歓迎任意のヘルプ、 ありがとうございます!

答えて

0

get_the_tagsは、ループ内で使用する必要がありますが、あなたは、ループ内に既にいる場合は、そのような現在のポストでのタグのリストを取得するにはthe_tagsを使用することができます。

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

私はしないでください今と遊ぶワードプレスを持っているが、私はあなたがこのようなpost_class に追加することができると思う:

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

ああ。 post_class関数を使用して分類法とステータスクラスも追加したいのですが? – waffl

+0

私は前にこの問題を抱えていましたが、私はそれをどのように解決したのか正確に覚えていません。私は今WPと一緒に遊ぶことはありません。私は私の答えを更新しました。 – JKirchartz

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'); 
関連する問題