突然アップローダが動かなくなった…

WordPressも現在v2.7.1になっていますが、データベースとの相性の問題か、ページ遷移が非常にもたつきます。
そのため、v2.5~2.6系列を好んで使用していますが、ここで問題となるのがFlash Player 10を使用しているクライアントから管理画面の操作をした際に、アップローダが反応しなくなるという挙動。
これは、セキュリティの仕様変更にともない、WordPress 2.7未満に搭載のSWFUploadでは上述の問題が発生するというもの。

Flash Playerのバージョンを落とすといった手法も公開されていますが、クライアント様の手を煩わせるのも嫌なので、Flashアップローダ機能をカットして利用しています。

/wp-admin/includes/media.php
816~819行目付近

<div id=”flash-upload-ui”>
<p><input id=”flash-browse-button” type=”button” value=”<?php echo attribute_escape( __( ‘Choose files to upload’ ) ); ?>” class=”button” /></p>
<p><?php _e(‘After a file has been uploaded, you can add titles and descriptions.’); ?></p>
</div>

上記を全てコメントアウトします。

<?php /*
<div id=”flash-upload-ui”>
<p><input id=”flash-browse-button” type=”button” value=”<?php echo attribute_escape( __( ‘Choose files to upload’ ) ); ?>” class=”button” /></p>
<p><?php _e(‘After a file has been uploaded, you can add titles and descriptions.’); ?></p>
</div>
*/ ?>

Flashアップローダが覆っているので通常気づきませんが、ブラウザアップローダ(ファイル選択・アップロードボタン等)は、もともと出力されています。
なので、上記のようにFlashアップローダを非表示にするだけでOKな訳です。

About the author: iisys