画像をアップロードすると、思ったとおりに自動的にサイズが変更されますが、画像を挿入するためのサイズは、Settings/Mediaに設定した設定を無視するようです。
私のメディア設定には、次のものがあります。
2226 x 1663 の画像をアップロードします。
Wordpressは正しい画像サイズを生成しますが、挿入のために以下のオプションを私に与えます:
私はフォーラムを見て、functions.phpファイルに以下を追加するという提案を見つけました。
update_option('large_size_w', 690);
しかし、これはうまくいきませんでした。
あなたの問題は、グローバル$content_width
変数(Boilerplateでは640pxおよび584px(Twenty Eleven)は、Settings -> Media
で指定した幅よりも小さいです。
WordPressは、テーマ固有の値でユーザー設定を上書きしています。テーマはその最大コンテンツ幅を知っているため、これは実際に理にかなっており、テーマが対応するように設計されたものよりも大きな画像幅を使用すると、テーマのレイアウトが壊れる可能性が非常に高くなります。
解決策は、大きな画像の幅を690pxに変更する必要がある場合(そして、子テーマがこの幅に対応できると仮定した場合)、define子テーマ$content_width
ファイルのfunctions.php
。次のように、after_setup_theme()
にフックされたChild Themeセットアップ関数を使用することをお勧めします。
<?php
function wpse48075_theme_setup() {
// Define $content_width global
global $content_width;
if ( ! isset( $content_width ) ) {
$content_width = 690;
}
}
add_action( 'after_setup_theme', 'wpse48075_theme_setup', 9 );
?>
子テーマのアクションは親テーマのアクションの前に追加されるため、優先度9はおそらく過剰です。優先度9を使用すると、親テーマ設定が優先度10で起動する前にこのアクションが起動することが保証されます。
子テーマアクションが最初に起動するため、子テーマは$content_width
を定義し、親テーマはそれをオーバーライドしません(if ( ! isset() )
条件付きラッパーも使用するため)。
だから、Twenty Elevenのfunctions.php
ファイルを見て、間違った仮定をしたことに気付きました。TwentyElevenは、$content_width
にフックされたテーマ設定関数の内部ではなく、functions.php
でafter_setup_theme
を裸で定義しています。したがって、それをオーバーライドするには、**同様に行う必要があります**。
functions.php
ファイルの先頭で、他の関数定義の前に次を配置するだけです。
$content_width = 690;
これは、子テーマfunctions.php
が親テーマfunctions.php
の前に解析されるため、機能するはずです。
(これは、テーマがコールバック内にすべてをラップする理由の代表的な例です。:))
画像をアップロードしたときにどの画像サイズが生成されるかをもっと制御したい場合は、 Simple Image Sizesプラグインを見てください
メディアページの設定を変更して、埋め込みの最大幅が空白ではなく690になるようにします。