特定のエントリーのタグ情報を引っ張り出す方法
やりたかったことは、
・amazonのwidgetにある「Amazonライブリンク」にキーワードをエントリー毎に投げたい
ってことでした。
※Amazonライブリンク
「ストア(本、ゲームとか)」を選択して「ジャンル」もしくは「キーワード」を指定するとそれに関連した商品を勝手にピックアップしてくれる機能
このamazonライブリンクは、amazonアソシエイトの管理画面からいくと「キーワード」は当然固定になります。
このサイトのようにテーマに統一性がないクソサイトは、キーワード固定だと困るんです。
ということでそのキーワードをエントリーごとに変化させてみよう!ということで。
参考にしたサイト:
・WebTecNote – [WP]Category, Tag and Taxonomy Functions
・テンプレートタグ/get the tags – WordPress Codex 日本語版
・タグを検索キーワードに設定する方法 | H2+ Goes On
まず最初一番上のサイトで、「そもそもエントリーにつけたタグを引っ張り出すための関数って何よ?」というところを調べました。
次に公式リファレンスを覗き、なるほど、このタグねな!と最初のタグだけを表示するのソースをいただくも、こいつは使えなくて愕然とする。
ラストの方は、Metaのkeywordsにエントリーのタグを使おう!っていうエントリーなのですが、このPHPのソースが超参考に。
ということで完成したのがこれです。
[code language=”php”]
<?php
$terms = get_the_tags();
if(!is_wp_error($terms) && !empty($terms))
{
$tags = array();
foreach($terms as $term) $tags[] = $term->name;
echo $tags[0];
} else{
print "wordpress";
}
?>
[/code]
使い方は至って簡単。
このコードを、amazonのリンク生成後にでてきたsearch=***という部分の***にどーーーーんと気合いのコピペで。
echo $tags[0];
この0は配列の一個目を出してねってだけなので、二個目ほしければそれで。
ここはもしかしたら、ランダム処理にしたほう便利かも!
とか作ったあとに気づいた。