Simplicityの特徴 › フォーラム › テーマファイルのカスタマイズに関する質問など › トップページ記事一覧でのタグ表示方法
- このトピックには12件の返信、2人の参加者があり、最後に
Hidekichiにより10年、 11ヶ月前に更新されました。
-
投稿者投稿
-
-
2015年8月16日 3:16 AM #30675
あきひと
ゲストネットでも検索したのですが、わからなかったので質問させてください。
Simplicityテーマのトップページ表示にて、記事一覧でカテゴリーが表示されますが
タグは表示されません。つきましては、以下の場所に記事のタグを表示させたいのですが、方法はありますでしょうか?

大変、初心者な質問とは存じますが、分かる方がいらっしゃいましたら教えて頂ければ幸いです。
宜しくお願い致します。Attachments:
-
2015年8月16日 3:18 AM #30676
あきひと
ゲスト申し訳ありません。
参考はこちらになります。

-
2015年8月16日 3:22 AM #30678
あきひと
ゲスト
-
2015年8月16日 2:00 PM #30692
Hidekichi
ゲストthe_tags()でいけます。
使い方は、
<?php the_tags( $before, $separator, $after ); ?>って感じで、
<?php the_tags("<ul class='test'><li>",'</li><li>','</li></ul>'); ?>
なんて事をすれば、リストで書き出して、かつそれを.post-meta .test{ …以下略… }でデザインもできるんじゃなかろうかと。デフォルトでは、「タグ: xxxx,yyyyy,zzzz」みたいな感じで書きだされます。$beforeがタグ:で、区切りが,(カンマ)って感じです。
ちなみに、親テーマentry-card.php内、p class=”post-meta”のブロックの最後に書けばよいのではなかろうかと思います。コメントでpost-metaはここまでのような表記がしてあると思うので、だいたいわかるかと思います。
wordpress the_tags()で検索すれば、サンプルや使い方等色々出てくるかと思います。
-
2015年8月16日 2:01 PM #30693
Hidekichi
ゲストうぉぉ、しまった。code入れてなかった。
わいひらさん修正お願いします。 -
2015年8月16日 2:02 PM #30694
Hidekichi
ゲスト内容は、
<?php the_tags("<ul class='test'><li>",'</li><li>','</li></ul>'); ?>です。
-
2015年8月16日 7:41 PM #30707
わいひらキーマスター修正しておきました。
bbPressの穴ですねこの不具合。>あきひとさん
編集するテンプレートは、entry-card.phpファイルです。hidekichiさんの書かれた記述をカテゴリの後に追記すると、うまくいくかと思います。 -
2015年9月13日 11:26 PM #32524
るか
ゲスト似たようなところで悩んでいて、便乗させていただきます。
hidekichiさんのコードを入れると、タグは日付の下に表示されます。
これを日付、カテゴリ、タグと並べることは出来ますか? -
2015年9月14日 1:51 AM #32526
Hidekichi
ゲストget_the_tagを使って記事IDからタグの情報を取得できます。
the_tagsが直接タグを吐き出すのに対して、情報だけ取得できるので、それらを加工してechoすることで好きな所に好きなように表示することが可能です。■基本
<?php $posttags = get_the_tags(); if ( $posttags ) { echo "<a href='" . get_ . "'>" foreach ( $posttags as $tag ) { echo $tag->name . ' '; } } ?>■ちょっと応用(ループ外、例えばentry-body.phpとかのpost-meta内)
<span class="tags"> <?php $posttags = get_the_tags(); if ( $posttags ) { foreach ( $posttags as $tag ) { $g_tag[] = "<a href='" . get_tag_link($tag->term_id) ."'>" . $tag->name . "</a>"; } } echo implode(" | ",$g_tag); ?> </span>こうすれば、「tag | tag | tag」みたいな感じで、リンク付きのタグが出力されます。そのリンクを.tagsというspanで囲んでますから、スタイルシートで.tags aとか、.tags自体にスタイルすることもできます。
どのような形式で出力したいか、例えばリスト表示ドロップダウン表示、その他諸々といろんな表示方法が考えられます。なので、それに合わせてforeach内の加工をする必要があります。
何かしらfontawesomeあたりのアイコンをタグの前に入れたいと思えば、
echo “<span class=’fa fa-xxxx’></span> ” . implode(” | “,$g_tag);
とかでもいけるでしょうし、「|」に色を付けたいと思えば、
implode(” <span class=’tag_sep’>|</span> “,$g_tag);
とすれば、スタイルシートで.tag_sepに対してスタイルすればよいわけです。どう出力したいかを考えて、そうするにはどうすればよいかの解決をする必要があります。応用が効くだけに面倒ですけどもね。
-
2015年9月14日 1:52 AM #32527
Hidekichi
ゲストわいひらさんの修正が入るまで、コード部分はカッコやクォートがエンティティされていますので、しばしお待ちください。
-
2015年9月14日 7:42 PM #32539
-
2015年9月14日 9:40 PM #32546
るか
ゲスト早速のお答えありがとうございました!
エラーを吐くのですが、タグのない記事に吐いているので、恐らくタグがない場合の指示が必要なんですね。
もう少し調べてみたいと思います。 -
2015年9月14日 9:55 PM #32549
Hidekichi
ゲストあぁ、タグがないというより、せっかくのその部分の処理の外にechoおいてしまってました(笑)
foreachの閉じカッコのすぐ下にecho部分持っていけば、ページにタグが無い場合、配列の処理は無視されます。
if ( $posttags ) { //ここであるなし判断、つまりはtrueの時だけこの中を処理 foreach { //配列の処理 } echo //出力 } // if終わりこんな感じでどうでしょう?
ってことはタグがない時は、それ用の処理もできるということです。
if { foreach(){} echo ... } else { //タグがない時の処理 echo "この記事にタグはついてません"; }こんな感じです。
-
-
投稿者投稿
- フォーラム「テーマファイルのカスタマイズに関する質問など」には新規投稿および返信を追加できません。