2016-05-10 5 views
2

私はカテゴリを出版社としてタグをジャンルとしてタグを作成します。これは私のコードです:タグを表示するには?

<table> 
<?php 
    $my_publisher = get_the_category(); 
    $my_genre = get_the_tags(); 

if(! empty($my_publisher[0])) { 
     echo '<tr><td align="right" class="infobook"><b>Publisher</td><td align="center" class="infobook">:</td></b><td class="infobook"> <a href="'.get_category_link($my_publisher[0]->term_id).'">'.$my_publisher[0]->cat_name.'</a></td></tr>'; 
      } 

if(! empty($my_genre)) { 
     echo '<tr><td align="right" class="infobook"><b>Genre</td><td align="center" class="infobook">:</td></b><td class="infobook"> ' .$my_genre. ' </td></tr>'; 
      } 
?> 
</table> 

カテゴリーパブリッシャーとして(表示されません)仕事ですが、ジャンルなどのタグが機能していません。 コードを修正するにはどうすればよいですか?

+0

私は出版社として、カテゴリのためにこのコードを使用します。'.$category[0]->cat_name.''; } ?>(ソース:https://dbarnwal.wordpress.com/2014/07/23/display-category-name-in-post-page/)。しかし、私はタグを表示する別の方法を発見していない。 –

+0

私は[documentation](https://codex.wordpress.org/Function_Reference/get_the_tags)を見ました。オブジェクトの配列を返すように見えるので、そのようにエコーすることはできません。リンク内のドキュメントを見て、彼らが 'foreach'をどのように使用しているかを見て、各タグの名前を取得してください。 –

答えて

1

get_the_tags()は、オブジェクトの配列を返します。各オブジェクトには「名前」プロパティがあります。投稿に割り当てられたタグをすべて表示するには、それらをループして各タグの名前プロパティをエコーする必要があります。各タグのリンクを表示する場合は、get_tag_link()関数を使用し、タグオブジェクトを渡してリンクを取得する必要があります。

コードを変更しました。あなたはそれを下に見ることができます。私はリンクを格納するために配列を使用しているし、私は区切り記号としてコンマを使用してそれをimplode。

<table> 
<?php 
$my_publisher = get_the_category(); 
$my_genre = get_the_tags(); 

if(! empty($my_publisher[0])) { 
    echo '<tr><td align="right" class="infobook"><b>Publisher</td><td align="center" class="infobook">:</td></b><td class="infobook"> <a href="'.get_category_link($my_publisher[0]->term_id).'">'.$my_publisher[0]->cat_name.'</a></td></tr>'; 
} 

if(! empty($my_genre)) { 
    $tag_links = array(); 
    foreach($my_genre as $tag) { 
     $tag_links[] = '<a href="'.get_tag_link($tag).'">'.$tag->name.'</a>'; 
    } 
    echo '<tr><td align="right" class="infobook"><b>Genre</td><td align="center" class="infobook">:</td></b><td class="infobook"> ' . implode(',', $tag_links) . ' </td></tr>'; 
} 
?> 
</table> 
+0

Mr.Andrewに感謝します。しかし、まだ動作していません。私は 'if(!empty($ my_genre)){ $ tag_links = array();にコードを編集しようとしています。 foreachの($タグとして$ my_genre){ } エコー 'ジャンル:'.$tag->name.' '; } 'それは動作していますが、1つのタグだけが4つの既存のタグから表示されます。 –

+0

@ PUSTAKAKORAN.COM oops私は自分のコードで間違いを犯しました。私はそれを編集した。あなたは今それを試すことができますか? –

+0

@ PUSTAKAKORAN.COM編集しないでください。正常に動作するはずです。 –

関連する問題