WordPressでタグに関連した内容を表示する方法です。
今回「特定のタグ」はどんどん増えていく想定で、別で管理したかったため外部ファイルで作成しました。
1)特定の内容を表示したい特定のタグリストを別に作ります。
ex.tag.txtというファイル名で下記のような内容を保存しておきます。
Osclass TestLink Artifactory Dolibarr
2)記事のテンプレートで下記のように指定します。
<?php /* 記事に指定されているタグを配列として取得 */ $posttags = get_the_tags(); $my_array = array(); if ($posttags) { foreach($posttags as $tag) { $my_array[] = $tag->name ; } } $str_my_array = mb_strtolower(implode(",", $my_array)); /* 1)で作成したファイルを読み込んでいます */ $lines = file("http://xxx.xxx.xxx/tag.txt"); $i = 0; foreach($lines as $line) { $ossname = $lines[$i]; $trim_ossname = mb_strtolower(preg_replace('/(\s| )/','',$ossname)); $trim_ossname = str_replace("!", "", $trim_ossname); /* 記事に付与されたタグが、指定したタグかどうかをチェック */ if (strstr($str_my_array,$trim_ossname)) { /* 記事に関連したURLを作成 */ $ossurl = "http://aws.aipo.com/oss/".$trim_ossname."_ami.html"; /* そのURLが存在するかをチェック */ if(@file_get_contents($ossurl, NULL, NULL, 1, 1)){ ?> <h3>関連するオープンソース</h3> <ul class="normal ml5 mb0"><li><a rel="bookmark" href="<?php echo $ossurl; ?>">高速化した <?php echo $ossname; ?>をAWS(Amazon Web Services)上で利用する</a></li> </ul> <?php } } $i++; } ?>
広告などを出力する際に使えるのではないかなと思いました。