web-dev-qa-db-ja.com

注目の画像は常に198ピクセルの高さでレンダリングされますか?

私はfunctions.phpファイルに以下を追加しました:

set_post_thumbnail_size( 500, 500);

カスタム投稿タイプで特集画像support => 'thumbnail')を作成しました(ページコンテンツと呼びます)。

画像を注目画像として設定した場合(使用している画像の高さは500pxです)、画像は常に198pxの高さでレンダリングされます。

EDIT:

最終ページに198ピクセル、管理パネルに117ピクセルをレンダリングします。

これが最終出力のコードです。

<img class="attachment-post-thumbnail wp-post-image" width="448" height="198" title="2974999772_7085da4d34" alt="2974999772_7085da4d34" src="http://localhost/wp-alex-chen/wp-content/uploads/2011/01/2974999772_7085da4d344-448x198.jpg

これは管理者パネルに表示される画像のコードです。

<img width="266" height="117" title="2974999772_7085da4d34" alt="2974999772_7085da4d34" class="attachment-post-thumbnail" src="http://localhost/wp-alex-chen/wp-content/uploads/2011/01/2974999772_7085da4d344-448x198.jpg">

投稿編集パネル:

enter image description here

これを解決するための提案はありますか? (「通常の」投稿も同じ問題を抱えています(height = 198px)

EDIT2:これをfunctions.phpに追加しました:

if ( function_exists( 'add_image_size' ) ) add_theme_support( 'post-thumbnails' );
if ( function_exists( 'add_image_size' ) ) {
    add_image_size( 'thumb-1', 320, 280, true );
}

ハードクロップするように設定されていますが、画像は250px 280pxとしてレンダリングされます(320px x 280pxとしてレンダリングされるはずです)。

1
janoChen

私はあなたがTwentyTenの子テーマを使っていると思います、そしてTwentyTenテーマであなたはこのラインを持っています:

set_post_thumbnail_size( HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true );

hEADER_IMAGE_HEIGHTは198ピクセルです。

2
Jimmy

<?php the_post_thumbnail('large'); ?>の代わりに<?php the_post_thumbnail(); ?>を使用すると問題が解決しました。

<?php the_post_thumbnail(); ?>はサムネイルのサイズを変更するための非常に奇妙なデフォルト設定を持っているようです。

1
janoChen

さて、Wordpressが注目画像のHTMLをどのように生成しているかを少し調べた後、 wp-includes/media.phpeditor_max_image_sizeで見つけました。 76行目の決定的なフィルター。

最初に、もちろん、あなたはfunction.phpでいつものようにあなたの個々の画像サイズを設定しなければなりません、例えば私はポストサムネイルサイズ600px x 400pxが欲しいです:

function abc_set_size() {
   add_image_size( 'post-thumbnail', 600, 400, true );
}
add_action( 'after_setup_theme', 'abc_set_size' );

Wordpressは、バックエンド内の特徴的な画像(テーマで設定された)に対してこの寸法を使いたいが、76行目でこのフィルタを使って標準サイズにロールバックします。フィルタフックには3つのパラメータがあります。彼の次元:

function abc_my_editor_size($size_array,$size,$context) {
   global $_wp_additional_image_sizes;

   if($size == 'post-thumbnail' && $context == 'edit')
       return array( 
          $_wp_additional_image_sizes[$size]['width'],    
          $_wp_additional_image_sizes[$size]['height'] );

   return $size_array;
}
add_filter('editor_max_image_size', 'abc_my_editor_size', 10, 3);

思ったように、adminバックエンド内の注目画像の画像寸法のみが編集されます。私はグローバル配列$_wp_additional_image_sizesを使用して、ポストサムネイルのために私の設定された画像寸法にアクセスします。

私のためにうまくいきます、私はそれをお勧めします!これについて何か考え?

1
Alex