Home

Office L

[WPPH05]WordPressのRSSなどのフィード取得を制限する

気がつけば年もあけて2010年ですね。本年もどうぞよろしくお願いします。なお、昨年は不幸が重なったため、喪中につき年賀状等の送付を見送らせていただきました。平にご容赦ください。

さて、WordPressはAtom,RSS,RDFなどの形式でフィードを配信することができますが、サイトによってはフィードを提供したくない、制限したい場合などがあります。例えばAtomだけ使ってもらいたいとか、自分用にRSSをカスタマイズしたいとか、RDFだけ別なことに使いたいとか。

単純には、wp-atom.php,wp-rss.php,wp-rss2.php,wp-rdf.phpを削除又はリネームなどすれば、自分も含めそのフィードを利用できなくすることができます。が、当たり前というか、自分は利用したいけど、他の人には使ってもらいたくないから制限したいわけなので、ちょっと考えて、URLにセキュリティ用のキーを埋め込んでいる場合だけフィードを返し、それ以外の場合はフィードを返さないようにする、というのを実装してみました。

<?php
/*
Plugin Name: RSS Limiter
Plugin URI: http://officel.biz
Description: RSS取得に、指定したキーと値を必要とするようにする
Version: 1.0.0
Author: Y.Nishimura
Author URI: http://officel.biz/
*/

function rsslimiter() {
	// 文字列 sk と OK を好きな値に変更して使う。
	// この状態のURL は、 http://~/?feed=rss&sk=OK
	if ( $_GET['sk'] === 'OK'){
		// 指定のキーと値があっているなら何もしない
	}else{
		// あっていないなら本来のrss2処理を実行しない。
		remove_action('do_feed_rss2','do_feed_rss2');
	}
}
// 本来のrss2処理よりも先に(優先度9)処理するところが大事。
add_action('do_feed_rss2', 'rsslimiter',9);
?>

これにより、普通に ?feed=rss2 にアクセスすると、真っ白になり(前述のようにwp-rss2.phpを避けた場合も同じく真っ白になる)、URL中に &sk=OK を付けた場合にはRSS2でデータが返るようになります。こうしてしまえば、RSS2の中身(wp-includes/feed-rss2.php)を好きなようにカスタマイズしても、他の利用者には見せることなく済みます。ちなみに、RSS2以外は、’do_feed_rdf’ , ‘do_feed_rss’ , ‘do_feed_atom’ なので、適宜直して使えば、どうにでもできます。

コメントにも書いていますが、本来の処理 ‘do_feed_ほにゃらら’ よりも先に実行させる必要があるので、優先度を小さい数字にするのが大事なポイントです。

改善点のお勧めは、remove_action した際に、レスがなくなってしまって真っ白になるのを防ぐために、リダイレクトでホームに飛ばすとか、404にするとかが挙げられます。また、キーと値をフォームから入力可能にしてDBにオプションとして保持させることもできます。もっとも、リソースを無駄にするだけなので、このようにプラグインに直接書いたほうが早くていいと思いますが。

注意点としては、フィードの出力は一度行われると一定時間が経過するまで内容が変化せず、テスト確認がしにくい、などが挙げられます。これは、新規投稿を行うか、既存の投稿ステータスを変更してから公開中に戻すなど、投稿情報を変更することで即時反映させることができます。RSSテンプレートを修正した場合も同じです。

日中思いつきで、というか、漢字読めるかな?のフィードを制限しようかなと思って作ってみました。いつものように自己責任でご自由にお使いください。

[WPPH04]category_description の p 要素を出力しないようにするには

昼間に Twitter で category_description() が不要な<p>要素をつけて出力するのがどうこう、というつぶやきを見たので、除去してみました。(もちろん本人には既にメールで説明済み)

確かに自前でキレイな html を出力しようと思ったら、<p>を勝手につけるのやめて欲しいですよね。
というわけで category_description() をちょっと追ってみたのでメモ。
バージョンは WordPress 2.8.5 です。まだ 2.8.6 にしてない(汗

結論1

function.php とかに

remove_filter('term_description','wpautop');

って書いておけばとりあえず <p> は出力されなくなります。

ただ、term_description フックだと、tag_description() もひっかけてしまいます。。。

現状ではテーマ中に tag_description() を書いてるとか、そもそもタグに説明文つけてるとか、あんまり多くもないと思うので別にかまわない気もするんだけど。

そもそも category_description() にちゃんとフックがあればいいのに、とか。(別関数を直接 return する書き方になっているのでフックはない。はず。)

ちなみにきちんと調べてないけど、 term_description フックは今のところタグとカテゴリしか使ってないっぽいので他は大丈夫みたい。

結論2

どうしても先のやり方に抵抗があるとか、部分的にどうにかしたい、しかもできるだけ何やってるかわかりやすくテーマに書き込んでおきたい、というレアな人には、テーマ中で(もちろんis_category()のチェックした中で)

<?php
$a = category_description();
$a = substr($a,3);
$a = substr($a,0,-5);
echo $a;
?>

てゆー感じにすると、いいかなと。

説明は要らない気もするけど、
category_description() の値を変数 $a につっこんで、
先頭の<p>(これが3バイト)と、
最後の</p>(改行コード込みで後ろから5バイト)を取り除いて
echo してあげると。

こんな面倒なことするくらいなら先の remove_filter 使うほうが断然楽だと思うけどw

結論3

ぐぐったら出てきたネタ。

2と同じようにテンプレート中で、オブジェクトを使って直接値だけ引っ張ってくる方式。
echo $category->category_description; みたいなの。

でももしかしてこれだと、wptexturize とか、convert_chars フックも使われない気がするんだけど、大丈夫なのかな?
いや、もちろん自分で入力したカテゴリの説明文だから、そんなにひどい変換が必要な文字も入れない気はするけれども。

WordPress 2 から投稿テスト

iPhoneアプリのWordPress(とゆー名前のアプリ)を使って更新するテスト

[WPPH03]Add-X-Hacker プラグインのバージョンアップ(Ver1.1.0)

先月お遊びで公開した、Add-X-Hacker plugin をバージョンアップしました。

明後日の17日土曜日に開催する勉強会で、WordPress プラグインの作り方として紹介するために、管理画面を追加して、DBにデータを格納するようにしてみました。これ以上ないくらいコメントも入れてあるので、見れば誰にでもわかるだろうレベルになっていると思います。

ちなみに、勉強会中でこのプラグインの問題点を問うて、考えたり勉強したりする時間をとるつもりなので、たくさんの問題というか、不備を抱えたままになっています。例えば、次のような問題です。

  1. 改行が入力できてしまう。
    わざと入力しなければ問題ないのですが、機能として改行を除去するようにすべきでしょう。なぜ改行が入るとまずいのかは勉強会で話します。
  2. エスケープされていない。
    受け取ったデータを直接しまって、そのまま出力に使っているため、タグ記号やダブルクォーテーションなどの入力で画面が壊れます。入力しなければいいだけですけれども。
  3. 日本語等も受け付けてしまう。
    本来入っているべきではない(ヘッダとして出力されるべきでない)文字もそのまま入力できてしまうので、知らずに不適切な入力を行うと、困ったことになる人が出るかもしれません。
  4. 入力を空にしてもヘッダを出力してしまう。
    値が入力されていないなら、ヘッダラインとして出力すべきではないでしょう。

お遊び程度の簡単なプラグインといえども、いろいろな問題を抱える可能性があることを示してみました。勉強会ではこれらについて参加者と話し合いながら理解を深めてもらう予定です。

で、最後に、いつものように Add-X-Hacker プラグインをダウンロードして、pluginsディレクトリにアップロードして、管理画面から有効化して使ってください。初回同様自己責任でお好きなようにどうぞ。前述の問題点等に気をつけて、書き直してみるのもいいですね。

[WPPH02]WP2.8系の新しいフック wp_headers (If you’re reading thisってやつ。

最近違うことやってて WordPress から遠ざかってたんですが、先日懐かしいネタというか、新しいネタというか、とにかくちょっとだけハックっぽい記事を見つけたので、プラグインにしておくかと思い立って作ってみました。

この記事によると、WordPress.com では、HTTPレスポンスヘッダーに X-hacker ヘッダをつけているそうです。一般ユーザはあんまり見ない(であろう)レスポンスヘッダに文字を埋めとくなんて古典的なネタだけど、時代は回っているものなので、こういうのも原点回帰っぽくて面白いかなぁと。

HTTPレスポンスヘッダに勝手なレスポンスをつける方法は大雑把に3つ、

  1. httpd.conf に設定する
  2. .htaccess で設定する
  3. プログラムから出力する

httpd.conf で設定するのがレスポンス的には早いわけだけど、WEBサーバの設定をそう簡単にいじれるわけでもないと思うのでまず無視(依頼があれば説明してもいいけど)。.htaccess に設定する方法は、WordPress ユーザなら(パーマリンク設定をしていれば)普通に使っているはずなので簡単かな?と思ったんだけど、うちの環境で試したら、モジュールが有効になってませんエラーが出てうまくいかなかった。同じようなことが他所でも発生するかもしれないのでこれも無視(この辺見ればやりかたはわかる)。というわけで、最後のプログラムから出力する、について説明します。

WP2.8系は内部的にいろいろ変更が加えられていて、フィルタフック、アクションフックがたくさん追加されています。その中にwp_headersというフィルタフックがあって、WP本体の中ではsend_headersというかなり初期の段階で走るfunctionの中で使われています。ちなみにこのfunctionの中でX-Pingbackヘッダも出力されています。

というわけで、このwp_headersフィルタに、好きなヘッダを追加してあげれば、wordpress.comと同じように、X-hackerヘッダを(誰でも)追加できるようになります。いちいち画面作ったりするのが面倒なので、直接プラグイン中の文面を修正して使ってください。

<?php
/**
 * @package Add_X_Hacker
 * @author Y.Nishimura ( Office L )
 * @version 1.0.0
 */
/*
Plugin Name: Add X-Hacker Header
Plugin URI: http://officel.biz
Description: HTTPレスポンスヘッダに X-hacker ヘッダを追加する
Author: Y.Nishimura
Version: 1.0.0
Author URI: http://officel.biz/
*/

function addxhacker($content) {
	// 'test now' を If you're reading this,?のようにすればOK
	$headers = array('X-hacker' => 'test now');
	return array_merge($headers,$content);
}
add_filter('wp_headers', 'addxhacker');
?>

ネタとして会社さんなら特別入社窓口ページに飛ばすとか、個人でハッカー(のような)人とお友達になりたければ連絡先を入れてみるとか(おっと、くれぐれも自己責任で。連絡先なんか書いておいたらスパムの餌食になるかもしれないってことは忘れないで!)使い方は人それぞれですかね。

addxheader.phpファイルをダウンロードして、書き換えて、pluginsディレクトリにアップロードして、管理画面から有効化すると使えます。前回同様自己責任でお好きなようにどうぞ。

企業サイトを研究するのに使ったサイトのまとめ+おまけ

たまには真面目なエントリーもしたほうがいいんじゃない?というご指摘をいただいたので、重い腰を持ち上げてみました。
個人事業主、しかもIT系なんてゆうと、格安でホームページ作ってよ、とかご依頼をいただくわけですが、まーそういう会社さんに限ってげふんげふん。
冗談はさておき、中小企業さんとはいえ、まがりなりにも企業サイトを作るのであれば、世の中の動向はもちろん、競合分析や公開情報の選定等々は大胆かつ慎重に行う必要があります。
今回は、中小企業さんからいただくご依頼を受けて、競合分析や公開情報選定に向けてのサイト選定に利用しているサイトやその他情報を少しだけまとめてみました。
(私の)同業者さんや、もちろん企業のサイト担当者さん、決定権を持つ社長さんにも是非流し見していただきたいと思います。

企業情報の基本

日経会社情報 2009-I新春号
ご存知日経さんの会社情報ですね。書籍だとこれと次の東洋経済さんの会社四季報の二冊が双璧ですね。
東洋経済オンライン | 投資・経済・ビジネスの東洋経済オンライン
会社四季報を発行している東洋経済新報社さんのサイトです。コンテンツの充実っぷりはさすがです。ちなみに Yahoo!ファイナンスへも情報提供されてます。

WEBに特化。その上説得根拠になる情報

「日経パソコン」企業サイトランキング 2008—主要500社のWebサイトを評価:ITpro
「日経パソコン」企業サイトランキング 2007—主要500社のWebサイトを評価:ITpro
日経パソコンさんの企業サイトランキング。Webサイトの有用度を比較されています。調査方法と調査対象も参考に。独自調査なので一般論としての根拠としては?な部分もあるでしょうか。
企業情報サイトランキング 2008|日本ブランド戦略研究所
日本ブランド戦略研究所さんの企業情報サイトランキング。企業情報サイトユーザーが調査対象者ということなので、業界内外を問わずインターネット利用者、特に企業情報を閲覧することの多いポジションの人が見ている調査、といえそうです。
Webブランド調査 | 日経BPコンサルティング
日経BPコンサルティングさんが実施しているWebブランド調査ランキング。年4回3カ月ごとに、約4万人規模の回答者が800サイトを評価しているそうなので、調査規模、頻度、回答者の量は一番多いと思われます。
日経ナビ2009:人気企業ランキング
日経ナビさんの人気企業ランキング。残念ながら最新情報はサイトの登録者にしか公開されていないので、主に学生さん用なのだと思われますが、逆に言えば新卒採用を軸に自サイトを展開したい企業さんが参考にすべきサイトが調査されている、といえそうです。

おまけ

自治体サイトWebアクセシビリティ調査|有限会社ユニバーサルワークス
定期的に自治体サイトのアクセシビリティ調査を行っていらっしゃるサイト。日本ではイマイチ盛り上がりきらない感のある(失礼)アクセシビリティへの取り組みですが、これからWebサイトを構築していく際にはぜひとも視野に入れていただきたいと思っています。アクセシビリティについてはエントリーを改めます。
第4回 全国自治体・上場企業・官公庁のRSS導入・配信 調査状況レポート 2008/10 – RSSフィード.cc
RSSもインターネット上の標準技術として定着してきた感があると思っていましたが、やはり一般的にはまだまだ浸透していないのかもしれません。これからWebサイトを作るのであれば、ぜひとも(例え更新頻度が少なくても)導入を検討していただきたいと思っています。CMSなどで簡単に導入できますしね。
Web広告研究会&Web担 2つの調査結果に見る「効果を上げる企業サイトの運営方法」 | Web担当者Forum
なかなか予算周りで首を縦に振ってくれない上司をお持ちの方へ(笑)世の中的にもWebサイトによって確実に効果を上げている会社さんは多いんですよと。
【Web広告研究会】 トピックス 第1回 採用ウェブコンテンツ好感度調査
調査内容、結果レポート共に十分な情報量とは言いにくい気がしますが、サイトの好感度は運営の要でもあるので、合わせて見てみるのも大事かと思います。
企業サイトランキング2008の上位21サイトの事例 : Weblog : SimpleIsm
先に挙げた日経さんの企業サイトランキングの上位の会社さんを中心に、画面サイズ、DTD、文字コード、lintの得点、バリデータの結果をまとめています。Web製作者であればこういった数字を(自分なりにターゲットを整理して)根拠数値とする技術も必要ですね。

もっともおまけ

IT企業ランキング http://www.itranking.net/ (下記理由から直リンクなし)
よくわかりませんが、検索にひっかかったので一応。各情報をどこから捻出したのかが不明ですし、正確性も担保できませんが、ランキングの切り口は面白いと思いました(笑)

なんだか結局ネタみたいになってきましたが、いかがでしたでしょうか。

結局のところ、サイトを見てくれる人(主にお客様、またはサイトターゲット)のためのサイトを作ることが重要なのですが、その意味とか内容を理解してもらうのは難しいですよね。。。

[WPCH vol.04] RSSをハック。ちょっとした工夫で gmail の random signature に対応

先日の投稿でバージョンアップでコアの変更が飛んだ話をしたばかりですが、プラグインだと変更しにくいものがあるのは確かなので、コアハックは続けていこうと思います(この投稿の内容は WordPress 2.7 で確認しています)。

今日は RSS の出力を変更する、です。

gmail を使っていて、WordPress でブログを書いたりサイトを運営したりしている人に朗報です。gmail のラボ機能にある random signature をご存知でしょうか。名前のとおり署名部分にランダムな1文を入れてくれる機能です。ラボ機能についてはGmailに13の新機能が追加!すべての機能を解説! | Google Mania – グーグルの便利な使い方あたりを参考にどうぞ。

で、この random signature ですが、そもそも簡易な1文を追加するお遊びの要素が強く、RSS 中の title 要素の中を出力してくれるだけなんですね。なので、たいていの RSS 出力を処理してくれます。ただ、名言を出力するというデフォルトの使い方では、自分で文章を選べませんし、せっかくのインターネット時代にパソコン通信的な使い方をしていたのでは面白くありません。せっかくだから自分の記事とそのリンクも貼りたいですよね。

というわけで(前置き長っ!)、本日は WordPress の RSS 出力をいじくって、記事タイトルとリンクの両方を gmail の新規メールに差し込んでみましょう、という試みです。

まず注意しないといけないことは、WordPress は RSS,RSS2,ATOM などのフォーマットでフィードを出力することができるので、どれを使っていて、どれが使われていないのか、を把握しないといけない、ということです。既に誰かが自サイトのフィードを購読しているのに、その出力をいじくってしまっては迷惑ですよね。気をつけてください。(自サイトがどのフィードを出力しているか、が把握できない人は対処しないほうがいいかもしれません。。。)

いじくるファイルは、フィードの種類に合わせて、wp-includes 中の、feed-rss.php , feed-rss2.php ,feed-rdf.php , feed-atom.php のいずれかです。今回は一番手軽な RSS をいじることにするので、feed-rss.php を修正します。バックアップは自己責任でちゃんと取ってください。

<?php
/**
 * RSS 0.92 Feed Template for displaying RSS 0.92 Posts feed.
 *
 * @package WordPress
 */

header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
$more = 1;

?>
<?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
<?php the_generator( 'comment' ); ?>
<rss version="0.92">
<channel>
	<title><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
	<link><?php bloginfo_rss('url') ?></link>
	<description><?php bloginfo_rss('description') ?></description>
	<lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language><?php echo get_option('rss_language'); ?></language>
	<?php do_action('rss_head'); ?>

<?php while (have_posts()) : the_post(); ?>
	<item>
		<title><?php the_title_rss() ?> [ <?php the_permalink_rss() ?> ]</title>
<?php if (get_option('rss_use_excerpt')) { ?>
		<description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
<?php } else { // use content ?>
		<description><?php the_content_rss('', 0, '', get_option('rss_excerpt_length')) ?></description>
<?php } ?>
		<link><?php the_permalink_rss() ?></link>
		<?php do_action('rss_item'); ?>
	</item>
<?php endwhile; ?>
</channel>
</rss>

赤字の部分を削除して、青字の部分を書き足すだけです。簡単!これで、http://自サイト/?feed=rss みたいにすると、各エントリが、”タイトル [ URL ]”って感じになるはずです。

きちんと確認できたわけではありませんが、random signature は読み込めるファイルサイズに制限があるようで、概要や本文などが含まれているデータ量の大きいフィードだと、ランダムにできないようです。これに対処するため、赤字部分(見てのとおり概要か全文を出力している部分)を取ってしまいます。また、フィードの性格からすると、link 要素をリンクとして出力してくれてもよさそうですが、残念ながら random signature は link 要素を出力してくれないので、title 要素の中に URL を入れてしまいます。これによりURLが出力できるわけですね。 link 要素自体は削除してしまってよさそうですが、将来的な変更に備えてとりあえず残しておきます。

修正した RSS が狙い通りに出力されることを確認したら、gmail に設定してください。メールを作成のリンクをクリックするたびに、署名としてタイトルとリンクが出力されれば完成です。(gmailの設定で言語を英語にし、labo タブで random signature を enable にして保存、その後言語を日本語に戻して、全般タブの署名のところにURLを入れればOKです。)

最後に今回の件で苦労した部分、気がついた部分をまとめておきます。なんかおかしいなと思ったら読んでみてください。

  • Firefox で RSS を確認しているとキャッシュが効きすぎるようです。Safari では即時反映されますが、Firefox でのRSS確認は時間がかかります。通常のリロードや Shift キーを押しながらのリロードでも更新されないのには参りました。
  • gmail で RSS がキャッシュされます。更新頻度がものすごく悪いようなので、gmail への設定は RSS の出力がうまく出来ていることを確認してからやるのがよいようです。
  • 本文にも書きましたが、RSS のサイズが大きいとランダム化されないようです。概要も本文もなしにしてサイズを削り、この対処を行うフィードは、random signature 用と割り切ったほうがよいようです。
  • タイトル部が長いのもまずいようです(メール的にも)。もし長いタイトルを頻繁に投稿するようであれば、substring 関数などで文字を削るといいでしょう。
  • もし特定のカテゴリだけを出力したい場合は、http://自サイトURL/?feed=rss&cat=1 のように、カテゴリIDを追加指定してあげればOKです。
  • なんらかの不具合で、Append a random signature from feed: のチェックが勝手に外れてしまうことがあるようです。出力されないと思ったら設定を再度見直してみてください。

それでは楽しい WordPress ライフ、もとい random signature ライフを!


追記:2009年02月17日(火)投稿から約5分後w
Twitter で、クイズ研 の中の人から、クイズ研API を教えていただきました。random signature でクイズが配信されてます。また、google 側の制限として、タイトル 96 文字以内、 item は 10 個まで、らしいと教えていただきました!ありがとうございます!>twk さん

[WPPH01]新しいフィルタフックw next_posts_link_attributes / previous_posts_link_attributes

WordPress が過日2.7にバージョンアップして(今は既に2.7.1になっている)、当サイトを含め手持ちのサイトもバージョンアップしたのですが、コアファイルに手を入れていた部分が飛んでしまったのを機に、アプリケーションフックで対応できるものをプラグイン化して対処してみようという試み。

今回のターゲットは、前後へのリンクのアトリビュートです。テーマ中で言うなら posts_nav_link タグ付近です。

通常のリンク、ヘッダやフッタやサイドバーに出したいリンクはテーマファイル中で編集すれば好きなアクセスキーをセットすることができますね。

<h1><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1>
これは
<h1><a href="<?php echo get_option('home'); ?>accesskey="0" /"><?php bloginfo('name'); ?></a></h1>
のようにすれば簡単にアクセスキーを追加できます。

ただ、投稿(POST)の前後へのナビゲーションリンクは、通常下記のようになっていて、同様の手段ではセットすることができませんでした。

<div class="navigation">
	<div class="alignleft"><?php next_posts_link(__('&laquo; Older Entries', 'kubrick')) ?></div>
	<div class="alignright"><?php previous_posts_link(__('Newer Entries &raquo;', 'kubrick')) ?></div>
</div>
や、
<?php posts_nav_link(' | ', 'Newer', 'Older'); ?>
などがありますが、いずれもアンカー中のアトリビュートは指定できませんでした。

簡単な回避策として、バージョン 2.6 までは、wp-includes/link-template.php 中の function next_posts_link / previous_posts_link を、下記のように修正することで対応していました。

function next_posts_link($label='Next Page &raquo;', $max_page=0) {
	global $paged, $wp_query;
	if ( !$max_page ) {
		$max_page = $wp_query->max_num_pages;
	}
	if ( !$paged )
		$paged = 1;
	$nextpage = intval($paged) + 1;
	if ( (! is_single()) && (empty($paged) || $nextpage <= $max_page) ) {
		echo '<a href="';
		next_posts($max_page);
		echo '">'. preg_replace('/&([^#])(?![a-z]{1,8};)/', '&#038;$1', $label) .'</a>';
	}
}
を、
function next_posts_link($label='Next Page &raquo;', $max_page=0) {
	global $paged, $wp_query;
	if ( !$max_page ) {
		$max_page = $wp_query->max_num_pages;
	}
	if ( !$paged )
		$paged = 1;
	$nextpage = intval($paged) + 1;
	if ( (! is_single()) && (empty($paged) || $nextpage <= $max_page) ) {
		echo '<a href="';
		next_posts($max_page);
		echo '" accesskey="6">'. preg_replace('/&([^#])(?![a-z]{1,8};)/', '&#038;$1', $label) .'</a>';
	}
}
このように修正していた。

これで問題なく携帯対応として(directkeyを指定しないの?とかそういうつっこみは抜きにして)問題なかったのですが、今回の 2.7 へのバージョンアップで、link-template.php に大幅な加筆変更が加えられたため、同じ対処をやめることにしました。

実は 2.7 へのバージョンアップにおいて、function get_next_posts_link / get_previous_posts_link が新しくなり、リンク生成時のアトリビュートを取得するためのアプリケーションフック(フィルター) next_posts_link_attributes / previous_posts_link_attributes が追加されました。
これにより、前述のようにコアファイルに手を加えなくてもフックでアトリビュートを追加できるようになったのです。

というわけで早速(遅い?w)プラグイン化してみました。

<?php
/*
Plugin Name: set AccessKey on Next6/Prev4
Description: 前後の投稿へのリンクにアクセスキーをセットする
Version: 1.0
Author: Y.Nishimura
Author URI: http://officel.biz/
*/

function filter_setAccesskeyN6($content) {
    return $content . " accesskey='6'";
}
function filter_setAccesskeyP4($content) {
    return $content . " accesskey='4'";
}
add_filter('next_posts_link_attributes', 'filter_setAccesskeyN6');
add_filter('previous_posts_link_attributes', 'filter_setAccesskeyP4');

?>

set-accesskey-on-n6-p4.phpをダウンロードして、plugin ディレクトリにアップロード後、有効化するだけで前後のPOSTリンクに accesskey が追加されます。見てのとおり、国内の携帯電話向けに、次へのリンクは”6″を、前へのリンクは”4″になっています。

個人的に必要だから作ったので、変更や修正には対応できないかもしれないかわりに、自由に配布・改変・私有化していただいて結構です。(個別にメンテする時間が取れないだけとも言います。)当サイトをご紹介いただいても、いただかなくても問題ありません。好きに使ってください。この投稿が誰かの何かの役に立てば幸いです。

追伸:新設されたフックを見ている限り、いたるところに追加が行われているので、これをベースにしていろいろ出来そうです。例えば投稿タイトルを title 要素として埋めるとか。いや、面倒か。。。

[GAME]KONAMI の jubeat の称号リストをチートシート風にしてみた

KONAMI の業務用音楽ゲーム jubeat(商品情報サイトへリンク)にはまっているので、称号リストを自分用にチートシート風にしてみました。なかなかうまい具合に1ページになったので公開してみます。

jubeat 称号リストチートシート(2009年1月20日現在判明分) Excel 2003形式

元情報はjubeat まとめwikiさんの称号リストなのですが、自分の取得済み称号をチェックするのには若干不向きだったので、チートシートを作ってみようかなと。コンプリートを目指すにも、どれが取得済みなのかをチェックするのにも、チェック欄と取得方法はA4用紙1枚になってるほうが便利かなぁということで。

ちなみにこのチートシートの正確性その他もろもろは一切無保証です。取り扱いは自己責任でお願いします。著作権も主張しませんので、ご自由に改造するなりなんなりしてご利用ください。感謝の言葉は jubeat まとめ wiki さんへどうぞ。

管理人はゲーム自体はへたくそなので、半分も埋められないですが、むしろそれをバネにがんばりたいかなとw 1月20日現在B1クラス、ポイントだけ貯めればA4に上がれるところです。ギガブレイクやインザネどころか、bass2bassもまだ開いてないすねかじりです。どこかでマッチングしたらお手柔らかにお願いします。ちなみにホームはサントロペ池袋かスポルト池袋です。


一応ブログパーツを張ってみたり。。。w

プレイ結果1 / プレイ結果2

Twitter Feed を試してみる。

Twitter Feed は、 Twitter のアカウントに RSS 情報を定期的に出力してくれるサービス、のようです。調べ物のついでにこのサービスを知ったので、ちょっとテストをしています。

このエントリーはその新規投稿の確認エントリーです。WordPress の予約投稿で、2009年1月12日19:00 に投稿されるように設定して、いつ Twitter Feed から反映されるか、を確認してみたいと思います。

Home

Search
Feeds
Meta

Return to page top