サポート » 使い方全般 » 一定のファイル名をしていして画像をランダム表示

  • 解決済 yamasuzu

    (@yamasuzu)


    はじめて投稿させていただきます。
    プログラムは素人レベルです。

    投稿された画像の中でランダムに指定数だけ、指定されたファイル名で表示させたいです。

    ググって以下のソースを探しました。
    以下の方法で、ランダムで表示はできたのですが、
    「指定のファイル名の中で」ということができません。
    例えば、『「banner」と言うファイル名の付いた画像の中からランダムで』としたいです。

    何卒、ご教授いただきたくお願いいたします。

    function.php)————————————————
    function my_random_images($count=1, $size=’thumbnail’){
    $args = array(
    ‘showposts’ => $count,
    ‘post_type’ => ‘attachment’,
    ‘post_mime_type’ => ‘image’,
    ‘orderby’ => ‘rand’,
    );

    $images = get_posts($args);
    echo ‘<div class=”my-images”>’;
    foreach($images as $image)
    echo wp_get_attachment_image($image->ID, $size); // thumbnail|medium|large|full|array(width, height)
    echo ‘</div>’;
    }

    表示させる方法)————————————————
    <?php my_random_images(3); ?>
    (上記は3つ表示)

    以上。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター jim912

    (@jim912)

    meta_key が _wp_attached_file のカスタムフィールドにファイル名が入っていますので、meta_queryを使って、compare を LIKE で指定すれば可能ではないかと思います。

    get_posts カスタムフィールドパラメータ
    WP_Query カスタムフィールドパラメータ

    スレッド開始 yamasuzu

    (@yamasuzu)

    ご教授ありがとうございますm(_ _)m
    頂きました内容で、試してみたいのですが、具体的にどう書けば良いか教えて頂くことは、出来ますでしょうか?
    まだwordpress初心者でして、プログラムの書き方を試しては見ますが、ご指導頂ければ助かります。。。

    yamasuzuさん、まず試してみましょう。
    jim912さんが紹介してくださったリンク先のページを読んで、コードを変更して、実行してみましょう。それが経験を増やすことにつながりますから。

    それでもしもうまく動かなかったら、ここに書き込んでください。
    「どのようなコードにして」「どのような結果になったか」がわかればアドバイスしやすいです。

    一応、こちらで試してみたものを書いておきますが、この先をコピペするのはご自身で試してみた後にしていただくのが良いと思います。

    function my_random_images( $count = 1, $size = 'thumbnail' ) {
      $args = array(
        'posts_per_page' => $count,
        'post_type' => 'attachment',
        'post_mime_type' => 'image',
        'orderby' => 'rand',
        'meta_query' => array(
          array(
            'key' => '_wp_attached_file',
            'value' => 'banner',	// 'value' => '探す文字列',
            'compare' => 'LIKE',	// 部分一致
          ),
        ),
      );
    
      $images = get_posts( $args );
      echo '<div class="my-images">';
      foreach ( $images as $image ) {
        // echo 'id:', $image->ID;
        // echo '&nbsp';
        // echo '_wp_attached_file:', get_post_meta( $image->ID, '_wp_attached_file', true);
        // echo '&nbsp';
        echo wp_get_attachment_image( $image->ID, $size ); // thumbnail|medium|large|full|array(width, height)
        // echo '<br />';
      }
      echo '</div>';
    }

    スレッド開始 yamasuzu

    (@yamasuzu)

    早速のお返事ありがとうございます。
    勉強不足ですいません。。。

    自分で試して理解したいと思います。

    取り急ぎ、いただいた上記の内容で間違いなく動作しましたので、
    まずはお礼申し上げます。

    フォーラムで質問(相談)をして、アドバイスいただきながらやりたい事をできる様に勉強したいと思います!!

    jim912さん、gblsmさん ありがとうございます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「一定のファイル名をしていして画像をランダム表示」には新たに返信することはできません。