サポート » 使い方全般 » 投稿画像のサムネイルへのフルパスを出力

  • こんにちは、いつもお世話になっております。
    早速質問させていただきます。

    投稿で記事に画像を挿入すると、自動的にサムネイルサイズの画像も作られると思います。
    そこで、そのサムネイル画像へのフルパスだけを出力する方法はありますでしょうか。

    素人な質問で大変申し訳ございませんが宜しくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • どのタイミングでフルパスが欲しいのかわかりませんが

    get_the_post_thumbnail 関数を使うことになると思います。
    http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/get_the_post_thumbnail

    思います、と言ったのは実際にどこのテンプレートで、どのように使うのかがわからなかったためで、使う場所によっては
    the_post_thumbnail
    のほうが良かったりするのかな?とも思えるからです。

    kvex様

    失礼しました。情報不足ですよね。

    使う場所はサイドバーです。

    <?php query_posts(“posts_per_page=4&cat=1&order=DESC”); ?>

    こんな感じでカテゴリー1の記事を4件、最新ニュースとして表示してます。

    ループ開始

    <img width=”45″ height=”45″ src=”ここにフルパスが入る予定” />

    記事のタイトルを出力
    ループ終了

    こんな感じで考えてます。
    サムネイルをimgタグごと出力しないのは、
    管理画面のメディア設定のサムネイルサイズが100×100にしているためです。
    imgタグごと出力すると、width、height、も設定しているサイズ100×100を出してしまいます。

    そこでフルパスを取得して、任意のサイズで表示するのが目的です。

    以上、分かりにくい説明で申し訳ございません。

    <?php echo get_the_post_thumbnail($page->ID, ‘thumbnail’); ?>

    このような書き方で合ってるかどうかわかりませんが、
    上記のように書くとエラーが出て、何も表示されなくなってしまいました。

    どのように記述すればファイルへのパスのみ出力されますでしょうか。

    フルパスを取得しなくても wp_get_attachment_image() で任意のサイズで表示できます。
    投稿に挿入した画像なら:

    $images = get_children( array(
      'post_parent' => get_the_ID(),
      'post_type' => 'attachment',
      'post_mime_type' => 'image',
      'orderby' => 'menu_order',
      'order' => 'ASC',
      'numberposts' => -1
    ) );
    foreach ( (array) $images as $attachment_id => $attachment ) {
    
      // 直接サイズ指定。こっちのが楽
      echo wp_get_attachment_image( $attachment_id, array( 45, 45 ) ); 
    
     // こっちはご希望の「フルパスを取得して〜」の書き方
      $src = wp_get_attachment_image_src( $attachment_id, 'thumbnail' );
      echo '<img width="45" height="45" src="' . $src[0] . '" />'; 
    
      break;
    }

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「投稿画像のサムネイルへのフルパスを出力」には新たに返信することはできません。