- Media Library is not loading on grid view in admin panel
- Media library grid view infinitely loading
- WordPress: media library grid mode infinite loading
- Image Upload Stops at Crunching….
ググると質問が結構出てくるけど、解決方法はどの質問にも書かれていない🤔
Grid Mode Doesn’t Load Files – Infinite Loading
このTrackにある質問が唯一サムネイル再生成で解決したケース。
主な症状は、
- メディアライブラリのリストビューは動作する
- 画像アップロードが処理中…で止まるがアップロード自体は成功する
- テーマの表示に問題はない
- プラグインオフでは直らない
- テーマを切り替えると発生しない
です。
で、さっき偶然、問題の再現ができたのでメモ。
問題を引き起こすソースコード
add_action( 'admin_init', function () {
wp_print_scripts( array( 'jquery' ) );
});
アクションフックのadmin_init
で wp_print_scripts を使用する。これだけ。wp_enqueue_media
など、wp_enqueue系スクリプトがセットになっている場合もあるかも。
特定方法
- 問題が発生するテーマ内で
wp_print_scripts
とwp_enqueue_
を検索 - ヒットしたらそれを呼び出している関数が
admin_init
フックで実行されていないか確認する
修正方法
admin_init
ではなく admin_print_scripts
フックに変更する。
管理画面に設定ページを追加している場合は、add_menu_page
が戻り値でフック名を返すので、admin_print_scripts
に追加して利用する。
$page_hook_suffix = add_menu_page('設定は省略');
add_action( "admin_print_scripts-{$page_hook_suffix}", function () {
wp_print_scripts( array( 'jquery' ) );
});