WordPress3.2で wp_handle_upload フィルタの引数のfileにフルパスが渡ってこないのはバグじゃなかろうか?
WordPress3.2で wp_handle_upload フィルタの引数のfileにフルパスが渡ってこないのはバグじゃなかろうか?
wp-includes/class-wp-xmlrpc-server.phpの3103行目は
return apply_filters( 'wp_handle_upload', array( 'file' => $name, 'url' => $upload[ 'url' ], 'type' => $type ), 'upload' );
じゃなくて
return apply_filters( 'wp_handle_upload', array( 'file' => $upload['file'], 'url' => $upload[ 'url' ], 'type' => $type ), 'upload' );
とすべきでは? とかちょっと思った(wp_handle_upload()に合わせるならそのほうが正しい気がするため)。
そのうちバグレポを調べるか。。。
追記(2011-11-21)
どうやらかなり昔から指摘されてたらしいのだけれど、修正されてないみたい。
仕方ないので
$uploads = wp_upload_dir();
$filepath = preg_replace("@\\A{$uploads['baseurl']}@", $uploads['basedir'], $args['url']);
――とかやって変換するようにしたけど。これで問題ないかな?