web-dev-qa-db-ja.com

投稿IDに基づくthe_post_thumbnail()

Single.phpのコードはこんな感じです→

ホームページでそれを必要としたので、投稿IDを元にコードを作成することにしました→

 <?php $fpid = get_theme_mod('kirki_fpid'); ?>

(上記はPost IDを取得しています)

そして

<?php $imv = get_post_meta($fpid, 't_vid_base', true); ?>

今度はそれが実装されています→

Single.phpのコード→

1

if(certain condition true) {
  $url = esc_url( get_post_meta( get_the_ID(), 't_oembed', 1 ) );

    echo wp_oembed_get( $url );  
}

そして

2

if(certain condition true) {   
    the_post_thumbnail( 'large'); 
}

#1は以下のようにホームページで使用できるように変換できます(POST IDに基づく)→

if(certain condition true) {
  $url = esc_url( get_post_meta( $fpid, 't_oembed', 1 ) );    
    echo wp_oembed_get( $url );  
}

質問→

POST ID($fpid)に基づいて2番目のものを作るにはどうすればいいですか?つまり、これ(the_post_thumbnail( 'large');)はPOST IDに基づいて結果をレンダリングします。

2
The WP Novice

私はその解決策を得たので、将来のユーザー/訪問者のための質問に自己回答しました。誰かに役立つことを願っています。

投稿IDに基づいて結果を生成することはできないと思います→

the_post_thumbnail( 'large');

しかし、これでうまくいくはずです→

<?php echo get_the_post_thumbnail($fpid, 'large'); ?>

(上記は正常にテストされています)

その他の可能性→

<?php echo get_the_post_thumbnail($fpid, 'thumbnail'); ?>
<?php echo get_the_post_thumbnail($fpid, 'medium'); ?>
<?php echo get_the_post_thumbnail($fpid, 'full'); ?>

ハードコードされたPOST ID を使いたいなら、これでうまくいくはずです→

<?php echo get_the_post_thumbnail('311', 'large'); ?>

その他の可能性(ハードコードされたPOST ID)→

<?php echo get_the_post_thumbnail('311', 'thumbnail'); ?>
<?php echo get_the_post_thumbnail('311', 'medium'); ?>
<?php echo get_the_post_thumbnail('311', 'full'); ?>

P.S →311は、例えば投稿IDである。

$ fpid→ユーザが選択したPOST ID(テーマカスタマイザ設定から選択した投稿を投稿する)

これが将来誰かに役立つことを願っています。

1
The WP Novice