開発環境を構築したとき、WordPressをWindowsで動かしたのだが、そのときに画像をアップロードしても、ファイル一覧などのタブが表示されないという現象が発生した。以下にそのときの環境および、対処方法を記載する。

環境

  • Windows XP
  • Apache 2.0.59
  • MySQL 5.0.27
  • PHP 5.2.0

現象

テキストでの投稿は問題ないが、アップロードにて画像ファイルを指定し、アップロードボタンを押しても、ファイル一覧などのタブが表示されない。ログインし直して、投稿管理から任意の記事を編集した場合もやはりファイル一覧は表示されていない。
しかし、実際のアップロード先フォルダを確認すると、画像ファイルは存在し、サムネールも作成されている。

解決

WordPress SupportのHow-To and Troubleshootingにこの現象に該当する記事を発見した。

Images upload but no thumbnails or preview

記事によると、ファイルのアップロードは完了しているが、ファイル情報をデータベースに記載する際の問題でファイル情報が失われてしまい、結果としてWordPress側はアップロードされているファイルは無いということになり、ファイル一覧のタブが表示されないようだ。

そのため、wp-includes/function-post.phpの一部を修正しこの問題を解決できた。

wp-includes/function-post.php

300: “UPDATE IGNORE $wpdb->posts SET
323: “INSERT IGNORE INTO $wpdb->posts

それぞれ斜体部分を挿入

上記のように修正を行った後、再度画像をアップロードしたところ、正常な(ファイル一覧などのタブが表示される)状態となった。

関連記事