返信先: 要望:更新履歴リストにもバッジ表示をさせたい

#2266
佐高
ゲスト

いつも本当にお世話になっております。たびたびの書き込みで申し訳ございません。

こちらの内容を再び検討していたら自己解決し、ショートコードのカスタマイズをできたのでその報告と、似たことで悩んでいる方のお力になれればと思いまた書き込みました。もし不適当であれば削除してくださって構いません。

 

【参考にする方に向けての注意】
PHPに詳しくなくて、色々なホームページを参考にしてコピペした程度なので、PHPの記述として正しいものではない可能性があるのでお気をつけください。あくまで参考にしていただけたらと思います。

今回カスタマイズしたショートコードでは「作品リスト挿入」やショートコード変数への対応はしていません。
また、複数の「作品タグ」をアーカイブページへのリンクを貼らずに取得・出力するものを採用しました。アーカイブへのリンクを貼りたい方は別のコードの方が簡単にできると思います。

 

【方法】
1.大元のEASEL更新履歴ショートコードPHP(library/shotcode.php内にあります)を子テーマにコピペして自分のホームページ内で被らない新しいショートコードを作成
(更新履歴リストの一番上と下の部分を変更します。こちらは少し調べるだけですぐ分かると思うので割愛します)

2.以下の記述を自分が作品タグを表示したい場所に貼り付けました
(自分は見た目の好み&作品タグ部分を押した際にも各該当作品ページにリンクを飛ばしたかったためにタイトルの直前に挿入しました)

$retHtml.='<div class=”customtag”>’;
$customtags = get_the_terms( $post->ID , ‘custom_tag’);
foreach( $customtags as $customtag ) {
$customtagname = $customtag->name;
$customtagslug = $customtag->slug;
$retHtml.='<span class=”‘.$customtagslug.'”>’.$customtagname.'</span>’;
}
$retHtml.='</div>’;

変数やclass名は適当につけてしまっています。
また、後ほどCSSでデザインをいじりたかったのでcustomtagのclassを付与したdivで囲み、各作品タグのスラッグ(英数字に設定しておかないとclassとしては使用できないのでご注意ください)のclassをspanに指定しました。

 

【CSSをいじっていない状態での表示例】

作品タグ付き更新履歴リストカスタマイズ表示例

※もちろん、挿入する場所を変更すると合わせて変わります。
わかりやすいように作品タグはそれぞれ「タグ1」「タグ2」「タグ3」、タイトルも同様に1〜3でつけました。
この状態ではバッジというより羅列ですが、CSSで作品タグ部分全体や、それぞれの作品タグの見た目をいじればだいぶそれっぽくなりました。

 

末尾とはなりましたが、本当に創作サイトとして使いやすいテーマで助かっております。
ますますのWordPress創作サイト、並びにEASEL使用ユーザーの盛り上がりを願っております。
これからも何卒よろしくお願いいたします。