web-dev-qa-db-ja.com

ホームページに2つの異なるサイズの特集画像を表示する

私のホームページには2つの異なるサイズの特集画像があります。私は現在、すべての特集画像を280x200に設定しています。私はホームページ上のいくつかの投稿にもっと大きい620x200の画像と他のものに280x200を表示させたいです。これを達成する方法がわかりません。 add_image_size( 'large-image', 620, 200, true );のように自分の関数ファイルでカスタムの画像サイズを指定できることに気づきました。しかし、どの画像を表示するのかをホームページに知らせる方法がわかりません。

これが最適なアプローチであるかどうかはわかりませんが、 'large-feature'というカスタムフィールドを作成し、large-featuredカスタムフィールドの値がtrueに設定されているかどうかをホームページで確認することを考えていました。 trueの場合はlarge-imageのカスタムサイズを使用し、カスタムフィールドの値が設定されていない場合はwordpressのデフォルトの機能サイズを使用します。

私はphpのコーディングが苦手なので、ここで少し手を貸すのは素晴らしいことです。私はかなり上手で、少し方向性を考え出しています。ご協力ありがとうございます。とても有難い。

問題の私のサイトは次のとおりです。 http://www.fighterstyle.com

6
Chad Fonger

get_post_thumbnail()を使うとあなたのテーマに注目の画像を挿入することができます。 the_post_thumbnail( $size, $attr );はパラメータ1を保持します。あなたの画像のサイズとID。

あなたのホームページに2つの画像サイズの特集画像を載せたいのなら、このようにすることができます。

if(is_front_page(){  // only on frontpage
 if ( has_post_thumbnail() ) { // check if the post has a Post Thumbnail assigned to it.
  the_post_thumbnail($post->ID, array(320,320));
 } 

}else if(is_page()){
  if ( has_post_thumbnail() ) {
      the_post_thumbnail($post->ID, array(120,120));
  }
}
1
user1606423

おすすめの画像として設定したときに既にサイズ変更されているサムネイル画像の代わりに、サムネイル画像のURLを取得することをお勧めします。

<?php
// check if the post has a Post Thumbnail assigned to it.
if ( has_post_thumbnail() ) {
$image = wp_get_attachment_url( get_post_thumbnail_id(get_the_ID()) );
//$image = wp_get_attachment_image_src( get_post_thumbnail_id(get_the_ID())); this gets the thumbnail image which is resized.
}?>
<img src="<?php echo $image;?>"/>
0
Yamu

カスタムフィールドを作成する - large_featured。値が1の場合、大きい標準サイズが表示されます。それ以外の場合 - 中。

$large_featured = get_post_meta( $post->ID, 'large_featured', true );
if(!empty($large_featured) && $large_featured == '1') {
    the_post_thumbnail('large');
} else {
    the_post_thumbnail('medium');
}

これをfunctions.phpに追加することで、あなたのホームページ専用の追加の画像サイズを作成することができます。

add_image_size( 'homepage-large', 620, 620);
0
Dima

まず、まだ実装していない場合は新しいサイズを追加する必要があると思います。

add_image_size( 'feature_name', 320, 200, true/false );

メディアアップローダはこれから画像を現在のサイズで作成します。

古い画像がある場合は、新しいサイズに画像を再生成しません、AJAX Thumbnail Rebuildプラグインを使用してください。

今、あなたは呼び出すことができます:

echo get_the_post_thumbnail( $post_id, 'feature_name');
0
Moshe ovadia

カスタムフィールドを使用するというあなたの考えは私には良さそうです。その後、get_post_meta関数を使用してこのデータに codexで説明 としてアクセスし、それを使用してサイズの値を渡すことができます。

どの値を渡すかについては、ハードコードされたサイズを渡すのではなく、Settings -> media画面で希望のサイズを定義し、呼び出し時にWPキーワードthumbnail、medium、large、fullのいずれかを使用できます。 get_the_post_thumbnail関数

0
Lea Cohen