Wordpressのタイトルをキーワードとして自動的にwikipediaの情報を表示する。
【試してみたこと】
SimpleAPI wikipedia
http://wikipedia.simpleapi.net/
SimpleAPi wikipediaというサービスを利用して表示を試みました。
提供のサンプル(PHP)をwordpressのテンプレートファイルに追加したところWarnigエラーが出てしまいました。
【質問】
どのように設定すれば、実現可能でしょうか?
キーワードのところに<?php the_title(); ?>を入れたいです。
----------------------------------------------
<?php
// キーワード指定
$keyword = "キーワード";
// APIのURL
$url = "http://wikipedia.simpleapi.net/api?keyword=".urlencode($keyword)."&output=php";
// データを取得
$data = file_get_contents($url) ;
// PHPシリアライズパーサーを利用して解析し、配列に入れる
$array = unserialize($data);
// 配列をforeachで表示するデモ
print "Wikipedia情報<br />";
foreach ($array as $key => $value) {
print "<a href=\"".$value[url]."\"><strong>".$value[title]."</strong></a>\n<br/>".$value[body] ."<hr/>\n\n";
}
?>
「the_title()」の代わりに「get_the_title()」を使用します。
テンプレートの表示したい箇所に以下の記述を貼り付けてみて
ください。(※記事表示のループ内)
<?php
// キーワード指定
$keyword = get_the_title();
// APIのURL
$url = "http://wikipedia.simpleapi.net/api?keyword=".urlencode($keyword)."&output=php";
// データを取得
$data = file_get_contents($url) ;
// PHPシリアライズパーサーを利用して解析し、配列に入れる
$array = unserialize($data);
// 配列をforeachで表示するデモ
if($array){
print "<h4>Wikipedia情報</h4>";
foreach ($array as $key => $value) {
print "<a href=\"".$value[url]."\"><strong>".$value[title]."</strong></a>\n<br />". $value[body] ."<hr />\n\n";
}
print '(by <a href="http://www.simpleapi.net">SimpleAPI</a>:<a href="http://wikipedia.simpleapi.net">WikipediaAPI</a>)';
}
?>
※タイトル名の項目がないとエラーが表示されますので、情報表示部分を「if($array){~}」で囲んでいます。
あるいは、情報表示部分を囲まずに次のようにしても良いと思います。
print "<h4>Wikipedia情報</h4>";
if($array){
foreach ($array as $key => $value) {
print "<a href=\"".$value[url]."\"><strong>".$value[title]."</strong></a>\n<br />". $value[body] ."<hr />\n\n";
}
}else{
print "<p>このタイトルの項目はありません。</p>\n";
}
print '(by <a href="http://www.simpleapi.net">SimpleAPI</a>:<a href="http://wikipedia.simpleapi.net">WikipediaAPI</a>)';
※テンプレートファイルの文字コードがUTF-8でない場合、日本語が文字化けします。
エンコードをUTF-8に変更するか、「Poedit」を使うなどして、使用したい単語または文章が追加された言語ファイルを作成する必要があります。
Poedit
使い方は以下が参考になると思います。
http://www.koikikukan.com/archives/2007/03/29-032523.php
※フォローが必要な場合は、コメント欄を開けて置くとやり取りしやすいです。
WorkPress および PHP で使用している文字コードは何?
UTF-8 以外がカラムなら変換処理が必要になるはず。
Warnigエラーが出てしまいました。
エラー内容を提示してください。
で、結局そのページはどうなったのですか?肝心の問題点が記述されていないんですが。
後から画像に気がつきました。
文字が小さすぎてさっぱり分かりませんのでコメント欄にでも転記していただきたいのですが最大の問題点を一つ。
$keyword = the_title();
でないと動くはずもありません。
コメント(0件)