web-dev-qa-db-ja.com

管理メディアグリッドビューの画像が読み込まれない

私が行ったのは、これを自分のfunctions.phpファイルに追加することだけでした。

function save_nb_image()
{
    global $wpdb;

            $id = $_POST['id'];
            $file = wp_get_attachment_url($id);

                if ( !is_wp_error($id) )
                {
                    $meta = wp_generate_attachment_metadata($id, $file);
                    $meta = nb_image_crop($meta);
                    wp_update_attachment_metadata($id, $meta);
                }

    wp_die();
}
add_action( 'wp_ajax_nb-image-autofix', 'save_nb_image' );

それから私はそれを画像編集フォームのカスタムボタンから呼び出そうとしました。何も起こらなかったので何かがうまくいかなかった。

それから少し後に私がメディアライブラリに再び入ったとき、画像はロードされないでしょう。 Chromeコンソールのログに、混在コンテンツの問題に関する情報が含まれています。私は最近SSL/httpsに変更したので、それが問題になるかもしれないと思った。数週間前の変更がこれに影響を与えるのは不思議ですが。その変更の後、私は何度もメディアライブラリに入っていて、すべてが完璧に機能しています。

しかし、とにかく、SSLの問題がある場合、私はそれをすべてクリアにさせるために "SSL Insecure Content Fixer"プラグインを追加しました。そして私はそのプラグインを実行してからメディアライブラリに再び入った。コンソールエラーがなくなりました。しかし、画像はまだロードされていません。ロードスピナーは永遠に続いているだけです。

また、wp_configからデバッグモードを有効にしようとしましたが、関連するエラーはありません。

また、Dashboard> UpdatesからWordpressバージョンを再インストールしてみました。

私はもちろん私が上で述べたコードを削除しようとしました。

他に何を試すべきですか?

編集: /それはデータベースの問題かもしれないと思います。原因私は/ wp-contentフォルダとwp-config.phpファイルを除くすべてのファイルを削除しようとさえしました。そして古いWP 4.4バージョンをインストールしました。それから入って、最新版に更新しました。その後:まだグリッドビューで画像がありません....

編集、2017年2月27日: 私は、URLではなく絶対パスが必要なので、wp_get_attachment_url()を使用するのは間違った関数であることがわかりました。だから正しい関数はget_attached_file()です。 wp_get_attachment_url()関数を使用したとき、ajaxは非常に長い時間をかけてロードしていて、ある種のコードフォーマットのイメージであると思われる多くの奇妙なコードを返しました。 get_attached_file()に変更した後、ロードはずっと速くなり、コードで欲しいものすべての機能は期待通りに動作しました。しかし、以前のコードで何かがデータベースに混乱を引き起こし、グリッドモードの問題を引き起こしたのでしょうか。

2

問題は解決しました。ユーザー "blobfolio"のおかげで ここ

画像のメタデータが破損している可能性があります。 images/metaを再生成するために https://wordpress.org/plugins/force-regenerate-thumbnails/ のようなプラグインを実行してみましたか?

解決策:

だから解決策は、すべてのサムネイルを強制的に再生成することです。たとえば、引用で上記のプラグインを使用する。

0

私は最近同様の問題を抱えていました。私はfunctions.phpの中のいくつかのプラグイン特有のコードでテーマの上に移動しました。私は言ったプラグインをインストールするのを忘れました。メディアギャラリーのグリッドビューは読み込まれませんが、リストビューは読み込まれます。

私のためにそれを修正したもの

  • 関数ファイルからプラグイン固有のコードを削除します。
  • 適切なプラグインをインストールする
  • 関数ファイルにプラグイン固有のコードを追加します。

それがうまくいくかどうかはわかりませんが、プラグインをチェックしてください。