サイト検索

カテゴリー

 

2012 年 2 月
« 2 月    
 1234
567891011
12131415161718
19202122232425
26272829  

アーカイブ

Flexible Upload プラグイン

WordPress で画像のアップロードを行うと、画像はオリジナルのサイズのままアップロードされてしまう。ページ内での表示は縮小されて表示されているが、これはあくまでも表示だけ・・・。ということで何か良いプラグインはないかと探していたら、Flexible Upload というのがありました。しかし、これがなかなかクセモノ。(2008/9/2追記)サイズが変更されないのはPHPにGDが組み込まれていなかったためのようです。デフォルトでもサムネイルの作成自体は行ってくれます。扱いにくいですが・・・。

その1、画像のアップロードを行う画面で、

Warning: call_user_func_array(): First argumented is expected to be a valid callback, ‘media_admin_css’ was given in・・・

なんてワーニングが表示されてしまう。色々と調べてみると WordPress 2.6 に正式に対応していない!Flexible Upload の Forum に一応の回避策がありました。flexible-upload-wp25.php の 68 行目あたりに function fup_set_actions() { という行がありますので、ちょこちょこっと修正します。修正は以下のような感じです。とりあえず動いているようなので、あとは正式に対応されるのを待ちましょう。

変更前:

function fup_set_actions() {
remove_action(’media_upload_image’, ‘media_upload_image’);
add_action(’media_upload_image’, ‘fup_media_upload_image’);
add_action(’admin_head_fup_media_upload_form’, ‘media_admin_css’);
remove_filter(’media_send_to_editor’, ‘image_media_send_to_editor’);
add_filter(’media_send_to_editor’, ‘fup_media_send_to_editor’, 10, 3);
}

変更後(赤字の部分を追加):

if (!function_exists(’media_admin_css’)) {
function media_admin_css() {
wp_admin_css(’css/media’);
}
}

function fup_set_actions() {
remove_action(’media_upload_image’, ‘media_upload_image’);
add_action(’media_upload_image’, ‘fup_media_upload_image’);
add_action(’admin_head_fup_media_upload_form’, ‘media_admin_css’);
remove_filter(’media_send_to_editor’, ‘image_media_send_to_editor’);
add_filter(’media_send_to_editor’, ‘fup_media_send_to_editor’, 10, 3);
}

その2、上の修正でワーニングは出なくなったものの画像のサイズは変わらないし、サムネイルも作成されない?PHP のインストールの問題でした。Flexible Upload では画像のサイズ変換等に GD の機能を利用しています。私のインストールした PHP には GD が有効になっていませんでした。それじゃぁ GD を有効にしようということで Port の設定を変更し、Make しようとすると X-Windows までコンパイルしようとする・・・。しょうがないのでソースからコンパイルしてインストールしました。

# ./configure –with-layout=GNU –with-config-file-scan-dir=/usr/local/etc/php –enable-libxml –with-libxml-dir=/usr/local –enable-reflection –program-prefix= –enable-fastcgi –with-apxs2=/usr/local/apache2/bin/apxs –with-regex=php –with-zend-vm=CALL –enable-zend-multibyte –disable-ipv6 –prefix=/usr/local –mandir=/usr/local/man –infodir=/usr/local/info/ –with-gd –with-mysql –enable-mbstring –with-jpeg-dir=/usr/local
# make
# make test
# make install

コメントをどうぞ