【Wordpress】記事に付けられたタグで検索したTwitterのつぶやきを表示する

TwitterのAPIを使って、タグをORで繋げて検索して、その結果を表示します。
賢さが全く感じられないコードだけど
以下コードをテンプレートの個別記事の下に貼りつければ動くはず。
記事の下が寂しい時に使えるかも。

探せばこんなプラグインありそう。

<?php
$wpkeywords = get_the_tags();
$twkeywords = ”;
$wpkeywords_count = count( $wpkeywords );
$i = 0;
foreach( $wpkeywords as $twkeyword ){

if($i){
$twkeywords .= ‘ OR ‘;
}
$i++;
$twkeywords .= $twkeyword->name;
}
?>
<script type=”text/javascript”>
//<![CDATA[

$j=jQuery;
$j(document).ready(function() {
search($j().val());
});

function search(word) {
$j.ajax({
type: "GET",
url: "http://search.twitter.com/search.json",
data: {
"q": "<?php echo $twkeywords; ?>",
"rpp": 10,
"lang": "ja"
},
dataType: "jsonp",
success: function(data) {
$j("#result").empty();
$j.each(data.results, function(i, item) {
$j("#result").append($j('<div><a href="http://twitter.com/'+item.from_user+'" target="_blank"><img src="'+item.profile_image_url+'" width="36" height="36" />'+item.from_user+'</a></div><div>'+item.text+'</div>'));
});
}
});
}
//]]>
</script>
<div id=”result”>Twitter読み込み場所</div>

Posted in PHP, Wordpress, javascript at 5月 11th, 2010. No Comments.

WordpressでjQueryがエラー出て使えない時の解決法

jQueryはWordpressでは標準で読み込まれるので、ちょっと使っていじろうと思ったら、動かない。
エラーを見ると

エラー: $ is not defined

の表示が。

検索してみたら、prototypeなど同じく「$」を使うプログラムと競合しないように
jQuery.noConflict();”が使われている時に出るエラーだそうです。
wordpressのheadタグ内で読み込まれるjquery.jsを見てみたら、それを最後の行に発見。

解決策としては、「$」の代わりにjQueryを使えばいいということだけど、
長いので改めて

$j = jQuery;

と定義して使用しました。

prototypeとかほぼ間違いなく使わないだろうから、

$ = jQuery;

でもいいと思うけど、一応。

ちなみにjQueryは、通常、header.phpに書かれているwp_head()関数で読み込まれるので
それが無いと読み込まれません。しかも他のプラグインも動かないことが多いです。
自分でテンプレート作るときは忘れないように入れましょう。

Posted in Wordpress, javascript at 5月 11th, 2010. No Comments.

Wordpress標準カレンダーのtitle属性を消す

worpressの標準カレンダーには、日付のリンクごとに、その日に投稿したブログ記事のタイトルがtitle属性に入ってます。 1日1記事とかなら全然いいけど、少年マガジンRSSCheckerのような、1日に何十件も入るような ブログだと、そのtitle属性だけで大変な量になり、読み込みに時間&サーバーに負荷がかかるのでよろしくない。 なので消す方法を考えました。 プラグインで消せればいいけど、どうすればいいのか思いつかないので、とりあえずは手作業で。 WPをアップグレードするたびにしなきゃいけません。 現在のバージョン2.83ですと、カレンダーを呼び出すget_calendar()は wp-includes -> general-template.php の955行目に発見。 そして、titleを書き出す箇所は1133行目に発見しました。 それで単純に削除。元のやつはコメントで残しておきました。 general-template.phpの1132行目あたりから
if ( in_array($day, $daywithpost) ) // any posts today?
 //echo '<a href="' . get_day_link($thisyear, $thismonth, $day) . "\" title=\"$ak_titles_for_day[$day]\">$day</a>";
 echo '<a href="' . get_day_link($thisyear, $thismonth, $day) . "\">$day</a>";
 else
 echo $day;
 echo '</td>';
これでとりあえずはすっきり
Posted in PHP, Wordpress at 8月 4th, 2009. No Comments.

数字をいろいろ変換するWordpressプラグイン suuji_changer ver0.1

suuji_changer ver0.1 18 click Wordpressのカウンタープラグイン「Couterizeii」の等から出力される数字をimgタグにしたり、 漢数字にするプラグインです。 おまけで、このブログで使っている記事の投稿日時を昭和表記(絶望先生暦)に する機能も付いています。 自分用に作ったものなので、非常に扱いづらい&分かりづらいです。 いないと思いますが、もし使った方で、動かない、分からないことがありましたら、ご連絡ください。 以下使用例、ソースコード Read More…
Posted in Wordpress, プラグイン at 5月 10th, 2009. 1 Comment.

the_date()関数の機能

関数を作って、日付を絶望先生暦みたいな昭和八十四年~みたいにする Wordpressプラグインらしきものを作ろうと思ったんですが、 Wordpressの標準関数、the_date()を引数に入れようと思っても、 すでにecho(出力する関数)されたものが出てくるので、引数には使えません。 そこで、the_date()の記述部分を探して、echoする前の数値を取り出そうと思ったんですが、 Codexを見たらthe_date()関数には、すでに数値だけを返す機能が標準装備されていることを知りました。 Codexのthe_date()のページ the_date(‘format’, ‘before’, ‘after’, echo) となっているので、4つ目の引数にfalseを入れればechoされていない素の数字が 返ってくるんですね。 そんなわけで、 showa_date_suujichanger(the_date(U,”,”,false)) のようにして、無事に記事の投稿時間(UはUNIXタイム)を引数に入れられました。 現在テスト中です。
Posted in Wordpress, プラグイン at 4月 26th, 2009. No Comments.