WordPressでmy-hacks.phpを使わない方法

WordPressでは自前のPHPコードをmy-hacks.phpというファイルに書いていたらしいんですが,バージョン2.8からmy-hacks.phpは使わないのがデフォルトになりました。このmy-hacks.phpを代替する必要があったので調べてみました。

ことの発端は,WordPressにメールで記事投稿できるようにするプラグインの「Ktai Entry」をいれようとしたことでした。プラグインのインストール・設定はうまくいったんですが,登録ユーザー以外のメールアドレスを追加しようとしてハマりました。

Ktai EntryのQ & Aにこういうところがあります。
「投稿許可アドレスを別途定義する」

ウェブログ登録ユーザーのメールアドレス以外から投稿を受け付けたいときは、validate_address フィルターを使うと可能です。my-hacks.php に以下のコードを書いてください。$authors 配列は、許可するメールアドレスと対応するユーザー ID を示すものです。適宜修正してください。 function ke_another_author($user_id, $address) {
$authors = array(
‘foo@example.com’ => 1,
‘bar@example.net’ => 4,
);
return isset($authors[$address]) ? $authors[$address] : $user_id;
}
add_filter(‘validate_address/ktai_entry.php’, ‘ke_another_author’, 10, 2);

ここで,my-hacks.phpを使う必要が出てきました。でもよくよく調べると,my-hacks.phpはWordPress2.8以降ではデフォルトで使えない。さらに調べると,my-hacks.phpをプラグインとして,使う方法がありました。

参考「Bye Bye my-hacks.php?」

以下のフォーマットでmy-hacks.phpを書いて,プラグインディレクトリに置くだけでプラグインとして認識されます。

<?php
/*
Plugin Name: my-hacks.php
Plugin URI: http://
Description: my-hacks.php – replacement since WordPress 2.8
Author: DU
Version: 0.1
Author URI: http://
/

/*
* put your hacks here
*/

?>

一番上の部分のコメントのところでプラグインの基本情報を記述します。この部分があると,プラグインのところに表示されます。こんな感じでちゃんとプラグインとして認識しています。
my-hacks.tiff

今回したいのは,Ktai Entryで送信元アドレスを追加することなので,以下のように書いたmy-hacks.phpを作りました。

<?php
/*
Plugin Name: my-hacks.php
Plugin URI: http://
Description: my-hacks.php – replacement since WordPress 2.8
Author: DU
Version: 0.1
Author URI: http://
/

function ke_another_author($user_id, $address) {
$authors = array(
‘hoge@hogehoge.jp’ => 4,
);
return isset($authors[$address]) ? $authors[$address] : $user_id;
}
add_filter(‘validate_address/ktai_entry.php’, ‘ke_another_author’, 10, 2);

?>

これで上手くいくかとおもったら,今度はWordPressの挙動がおかしくなりました。ログインしようとしてもページが更新されなかったり,記事を削除しても,白い画面が出たきり進まなくなったり。原因は自分で書いたmy-hacks.phpの文字コードでした。

sshでレンタルサーバーにログインして,emacsでmy-hacks.phpファイルを作ったんですが,文字コードがなぜかShift-JISになってました。これをデフォルトの文字コード(多分UTF-8)にしました。これでちゃんと動くようになりましたー!!

まとめ
WordPress2.8以降では,my-hacks.phpをデフォルトではサポートしなくなりました。なので,自分でmyhacks.phpをプラグインとして導入する必要があります。上のフォーマットで書いたファイルをプラグインディレクトリ(おそらくはwp-content/plugins)に置いて,プラグインを有効にすれば使えるようになるはずです。このときファイルの文字コードには気をつけてください。

今日のつぶやき Aug 29

22:56 ♪残酷な天使のテーゼ – 高橋洋子
22:56 ♪To Love You More – Various Artists
22:55 ♪華舞台 – ET-KING
22:55 ♪Say Anything – X JAPAN
22:55 ♪花鳥風月(Album Mix) – ケツメイシ
16:07 ブログ書きました! 「Gmailアドレスの拡張性」: http://bit.ly/35nVWh
Powered by twtr2src

Gmailアドレスの拡張性

Gmailのアドレスに関して。

WordPressで記事をメールで投稿できるようにする途中で知りました。
参考
「使い捨てのメールアドレス・前編──Gmail、Yahoo」

Gmailのアドレス部分(@より前の部分)に
1.プラス「+」をいれると,それ以降の文字列は無視される。

2.途中でドット「.」をいれても,無視される。


具体的に説明します。このブログではメールを「gadget.mac.blog@gmail.com」で受け付けています。何かありましたらメールください。

1.の「+」のほうから。
@より前に+を付けると,その後の文字列はないものとして処理されます。このアドレスで説明すると「gadget.mac.blog+test@gmail.com」にメールを送信すると,gadget.mac.blog@gmail.comに送信されてきます。(もちろん「+」以降の文字列は半角英数字ならなんでも大丈夫です)このとき送信先アドレスはちゃんと「gadget.mac.blog+test@gmail.com」で表示されます。

Toの部分を見ると,gadget.mac.blog+test@gmail.com宛にメールが送信されているのが分かります。 gmail_address1.tiff

何かWeb上でメールアドレスを登録する必要があるときに,+つきのアドレスを登録すると,後からフィルタリングがしやすくなると思います。

次は2.の「.」の説明。
「.」をいくらいれてもちゃんとメールが届きます。「gadget.mac.blog@gmail.com」でいうと「gadgetmacblog@gmail.com」も「g.a.d.g.e.t.mac.blog@gmail.com」も「gadget.mac.blog@gmail.com」に届きます。

実際送信してみたところ。
gmail_address2.tiff

gmail_address3.tiff

これを知っていると,1つのGmailアカウントを拡張して使えます。Gmailスゲー!!

Snow LeopardをMac miniにインストール

ビックカメラにいって,Snow Leopardを買ってきましたー!!ポイント使って1600円ほどで買えました。

その写真。箱と紹介用の紙です。
IMG_0568.jpg

研究室にあるMac miniにインストールしました。OSはLeopardで,10.5.8にしてあります。それほどまだ使っていないのでバックアップは取らないままやりました。後から思うと,やっぱりバックアップはしておいたほうが精神衛生上いいと思います。

インストールで戸惑ったのが,「アーカイブしてインストール」を選ぶところがなかったことです。インストールを開始してから調べたんですが,Snow Leopardはデフォルトでアーカイブしてからインストールするようになってました。ディスクを消去してからインストールするには,ディスクユーティリティで「消去してからインストール」を選ぶ必要があるようです。

このインストールに関する仕様変更のおかげで,インストーラを設定していたらいきなりOSのインストールが始まったので,「しまった!クリーンインストールしちまった」っと思ってしまいました。実際はそんなことはなく,ちゃんと元のファイルやアプリケーションは保存されていました。

インストール自体は淡々と進んで,50分ほどで終わりました。特に失敗することもなかったです。

なんでもSnow Leopardはシステムのファイルサイズを減らしたそうで。てなわけで,ディスクの容量がどれくらい変わったか見てみました。

まずはSnow Leopardを入れる前(Leopard)
Leopard_disk.tiff

Snow Leopardにした後
snow_leopard_disk.tiff

バイトの計算方法を変えたのか,ディスクの総容量が111GBから119GBに変わっています。それを考えても,8GBほどディスクの空き容量が増えています!!ハードディスクの空きが増えました!!

Mac OS X 10.6 Snow Leopard
Mac OS X 10.6 Snow Leopard

posted with amazlet at 09.08.28

アップルコンピュータ (2009-08-28)
売り上げランキング: 1
おすすめ度の平均: 5.0

5 明らかに進化しています!!!!!