web-dev-qa-db-ja.com

WordPressメディアライブラリから特定の画像を編集できないのはなぜですか?

私は私のWordPressのインストールでいくつかの奇妙な振る舞いに気づいた。

写真によっては、[画像の編集]をクリックしても画像全体が表示されず、サムネイルに表示される領域だけが表示されます。それでも、「画像の表示」をクリックすると、フル画像が実際に表示されているのがわかります。

Clearly needs some fixing

明らかに、この写真のサムネイルには手動の操作が必要です。

Edit Image shows same weird crop

画像全体をトリミング/編集するために表示されていないことを確認するためだけに、編集画像をクリックします。アップロード時に画像がトリミングされたのでしょうか。

The whole image is there

添付ファイルを見ると、いいえ、画像全体が実際には存在することがわかります - 画像エディタでは使用できません。

どうしたの?

これは特定の写真に関する問題であり、違いはわかりません。これらはすべてJPGであり、私が見ることができる奇妙なEXIFデータはありません。 ...

2
Amanda

ここで説明していること(メディアの編集画面でトリミングされた大きなサイズの画像)は、画像のトリミング中にApply changes to: All image sizesを使用する場合は完全に通常の動作であり、登録済みのすべての画像サイズに対して$crop paramがtrueに設定されている場合、アップロード中にも同じことが起こると考えられます( add_image_size function works)と同様に)上記のように-画像関連のプラグインを無効にし、何が起こるかを見てください。

とにかく-最も奇妙なことは、スクリーンショットにRestore Original Imageボタンがないことです。このボタンは、エディターで元のサイズを操作するために必要なものです。

以下の更新を参照してください...

これは、画像を切り取ってから保存する前にのみ複製できます。 Restore Original Imageボタンは、保存後に再び編集するために戻るとすぐに表示されます。

私のスクリーンショットをご覧ください: After saving it and coming back

これは明らかに最終的な答えではありませんが、実際にはコメント形式に適合しないため、ここで終わりました...

UPDATE:
From image-edit.phpのソースを見る 'Restore ..'リンクを表示するかどうかの決定における重要な役割は、_wp_attachment_backup_sizes postメタフィールドの値特定の添付ファイル。

問題のある添付ファイルの値を確認することをお勧めします。次のようなものを使用できます。

<pre>
<?php print_r( get_post_meta( $your_attachment_id_here, '_wp_attachment_backup_sizes', true ) ); ?>
</pre>

(または WordPressコンソール プラグインを使用)

たぶん、あなたはそこで奇妙な何かを見つけるでしょう。壊れた添付ファイルと正しく表示された添付ファイルの間でこれらの値を比較してみてください...繰り返しますが、聞きたいと思う答えをあなたに与えているわけではありませんが、調査するのが正しい方向だと思います。乾杯

3
Michal Mau

私はそれを得るためにこの単純な関数を作りました。

function get_attachment_full_original($id){
    $img = pathinfo( get_attached_file($id) );
    $meta = get_post_meta($id, '_wp_attachment_backup_sizes', true);
    $orig = $meta['full-orig'];
    return str_replace(ABSPATH, get_bloginfo('url') . "/", path_join($img['dirname'], $orig['file']));
}
1
Tom Roggero

テーマファイルを調べてください。

add_image_size( 'thumb_name', some_number, 400, true );

thumb_namesome_numberは何でも構いません。単に, trueを削除してください。

add_image_size( 'thumb_name', some_number, 400 );

ハードクロップモードが必要な場合は、400を他の数字に変更してください(399または401で結構です)。

add_image_size( 'thumb_name', some_number, 401, true );

私はこの問題を調査するのに何時間も費やしました、そしてそれは間違いなく(WordPress 3.4.1においてさえ)バグです。クリスティが言及するように、それは400ピクセル幅の画像で起こります。テーマが height の400ピクセルの画像サイズを追加し、ハードクロップモードが有効になっている場合にも発生します。私はバグレポートを更新しました、そしてそれがすぐに修正されることを願っています!

1
Zade

同じことが私にも起こっています。 このページは同じ問題を説明しています 。それはテーマが原因である可能性があるようです。テーマを変更してもnotで問題は解決しませんが(そして私のプラグインもすべて無効にしています)。

私はこれが彼らが広いよりも背が高い私のイメージ(「縦」の向き)にだけ起こると思います。画像の幅が高さよりも幅が広い場合は、正しく収まるようにサイズ変更されます。 Wordpressの画像サイズ変更アルゴリズムのいくつかのバグがあります。 grrr ...

迷惑な回避策:画像を編集して画像サイズを変更し、幅が縦よりも広くなるように両側に「パディング」を追加します(Photoshopを使用している場合は、キャンバスサイズを変更します、alt-ctrl-c)。その後、画像をwordpressに再アップロードします。

Wordpress 3.2.1/PHP 5.2.17/Twentyelevenテーマ/プラグインなしの実行

自動「Wordpressの再インストール」(「アップデート」タブのボタンをクリック)を実行しようとしたが、何も変わらなかった。


画像サイズと関係があるかもしれません(jpeg画像でテスト済み)。

  • 500px 1000pxの画像でうまくいきました
  • 400×600ピクセルの画像に失敗しました
  • 500 x 600ピクセルの画像でOK
  • 400 x 800ピクセルの画像に失敗しました
  • 410 x 500pxの画像でOK
  • 401 x 500ピクセルの画像でOK
  • 400 x 500pxの画像に失敗しました
  • 399 x 500ピクセルの画像でOK
  • 400 x 380ピクセルの画像に失敗しました

画像の幅がちょうど400ピクセルの場合にのみ失敗するようです


私は バグ報告 を提出しました。うまくいけばWordpressの開発者はこれを見ることができます。

1
kristi