なんだ、小林か。

Custom Field Templateを使った投稿画面でfileがアップできない

2012年03月24日

WordPressのトラブル。
たぶん、CORESERVERやXREAなど、セーフモードでPHPが動くレンタルサーバのみの症状です。

Custom Field Templateのファイルアップロード機能

プラグインCustom Field Templateで設定にて

[thumbnail]
type = file
label = サムネイル

のように、fileを指定すると、投稿画面で画像などのファイルもアップできるようになります。

投稿画面のファイルアップロード表示

非常に便利なのですが、CORESERVERで画像をアップしようとしたら、うまく動いてくれませんでした。

CORESERVERやXREAのセーフモード対策

CORESERVERをご愛用の方はご存じの通り、PHPがセーフモードで動いている関係上、アップロード系の処理がうまく動きません。
そこで、必要なファイルだけをCGIモードで動かします。
具体的には、wp-adminディレクトリの「.htaccess」ファイルに、

# 画像・ファイルアップロード
<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
# プラグイン・テーマ 新規インストール/アップグレード
<Files update.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
# 本体アップグレード
<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

と書きます。

参考

セーフモードによる制限と対処方法 – WordPress Codex 日本語版

Custom Field Templateのセーフモード対策

これに加えて、Custom Field Templateでファイルをアップしたい時は、post.phpもCGIモードで動かす必要があります。
上記の「.htaccess」に、

<files post.php>
AddHandler application/x-httpd-phpcgi .php
</files>

を加えれば、投稿画面からファイルがアップロードできるはずです。


コメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です