2

投稿にランダムな画像を1つ添付して、フロントページに表示しようとしています(更新時に表示される画像を変更します)。私が見たすべてのコードは、投稿ページのループ内から添付ファイルを表示する方法を示していますが、これは1つのページから添付ファイルを取得し、別のページに表示します。

私はこれについての出発点を実際に持っていないので、どんな助けも巨大になるでしょう。

4

2 に答える 2

6

WP_Query添付ファイルを直接クエリするために使用できます。実際には、添付ファイル専用の投稿タイプです。<img>このコードは、ランダムな画像のタグを吐き出します。

$query = new WP_Query( array( 'post_status' => 'any', 'post_type' => 'attachment' ) ); 
$key = array_rand($query->posts, 1);

echo wp_get_attachment_image($query->posts[$key]->ID, 'medium');

文字列mediumは、ダッシュボードのメディアセクションで設定した別のサイズ、またはを使用してコードで設定したカスタムサイズに置き換えることができますadd_image_size()

于 2012-12-21T07:18:33.103 に答える
0

テストされていませんが、これはデータベースから1行のみを取得する必要があり、WP_Query関数を最大限に活用します。

'full'配列に置き換えることで、表示される画像のサイズを変更できます(例array(200, 130))。詳細については、コーデックスをwp_get_attachment_image()確認してください。

$args = array(
    'orderby'           => 'rand',
    'post_type'         => 'attachment'
    'post_status'       => 'inherit',
    'posts_per_page'    => 1
)
$query = new WP_Query($args);

if($query->have_posts()) : while($query->have_posts() : $query->the_post();

        echo wp_get_attachment_image(get_the_ID(), 'full');

    endwhile;

    wp_reset_postdata();

endif;
于 2012-12-21T09:26:02.603 に答える