サポート » 使い方全般 » 指定画像のサムネイルファイル名を取得したい

  • はじめて質問させていただきます。

    現在WP2.7.1を使用しています。
    サーバはXREA、PHPはバージョン4になります。

    アップロードすると、自動でサムネイルが作成されますが、
    指定した画像のサムネイルのファイル名を取得する方法はないでしょうか?

    フルサイズの画像ファイル名、取得したいサムネイルのサイズを引数に、サムネイル画像のパスを
    取得できればベストなのですが・・・。

    ご教授宜しく御願い致します。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • フルサイズの画像ファイル名、取得したいサムネイルのサイズを引数に、サムネイル画像のパスを
    取得できればベストなのですが・・・。

    これはどこで取得するのが目的ですか?自作プラグインの中で?テーマのどこかのソースの中で?まさか投稿記事の中ということはありませんよねぇ・・・

    トピック投稿者 kimy

    (@kimy)

    使用場所はテーマの中を考えています。

    ファイル名から判別させるのはむずかしいのでしょうか?

    SQLが書けるならファイル名の取得は可能だと思いますが、サイズはデータベースに入っていましたっけ?
    私はSQL構文に自信がありませんのでソース提起まではできませんが(識者の方お願いします)、どちらにしてもやりたいことを具体的に提示したほうがソースを検討していただくにも親切だと思いますよ。

    仮に、テーマの中で、アップロードされている複数(場合によっては数百とか数千とか?)の画像から、どこかに記述(カスタムフィールド?記事の文面から?カテゴリーやタグ?)されている画像ファイル名や取得したいサムネイルのサイズを引数に、取得した1つの画像をサイドバーなど?に貼り付ける?

    など、やりたいことが見えてこないのと、やりたいことの内容次第ではもっと別のアプローチがあるかもしれませんよ?;)

    アップロード画像の各サイズ (thumbnail, medium, large, full) の URL は、アタッチメントの ID が分かれば wp_get_attachment_image_src( $id, $size ) で取得出来ます。
    この関数は画像の URL と width, height を配列にして返します。

    $image_src = wp_get_attachment_image_src( $id, 'thumbnail' );
    /*
    array(4) {
        [0]=> "http://example.com/wordpress/wp-content/uploads/2009/05/image.jpg"
        [1]=> 1024
        [2]=> 768
        [3]=> false
    }
    */

    その他の情報については wp_get_attachment_metadata( $id ) で取得できます。

    というわけで、まずは画像のアタッチメント ID を取得する方法を考えれば OK です。

    # アタッチメント ID をファイル名から探す関数をここに書いていましたが、その関数に思ったのと違うファイルがヒットする可能性が大いにあるなどの問題があると気付いたので削除しました。

    トピック投稿者 kimy

    (@kimy)

    情報ありがとうございます。

    やりたいことですが、不動産のページを作成しているのですが、物件を1記事として扱っています。
    入力方法をわかりやすくするために、物件の情報を本文にではなく、カスタムフィールドに入れています。
    間取り、外観などの写真も、フル画像のパスがカスタムフィールドに入力されているため、なんとかしてファイル名から、サムネイル画像のパスが取得したく、質問しました。

    >mizube様
    Codexでwp_get_attachment_image_src調べてみました。
    たしかに、ファイル名からアタッチメントIDを取得できれば出来そうですね。

    ファイル名からアタッチメントIDを取得する関数を考えてみたいと思います。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「指定画像のサムネイルファイル名を取得したい」には新たに返信することはできません。