投稿されたメディア・画像(attachment)の一覧ページ,メインループを作成する方法 【WordPress】
PR
WordPressに投稿されたメディアは記事と近い扱いで存在します
なので、それをメインループで呼び出すことでページネーションが出来るメディア一覧ページが出来ます
WordPressの通常のトップページのようなものを記事じゃなくてメデイア(画像)で実現する方法です
WordPressでメインループをattachmentにしたものを作る方法
メインループの直前にquery_postsを置くことでループの仕様を変更出来ます
query_postsを使ってメインループに表示されるものをメデイアに登録されたファイルに指定します
メインループ前に設置
<?php $paged = get_query_var('paged'); ?> <?php query_posts( array( 'post_type' => 'attachment', 'posts_per_page' => 100, 'paged' => $paged, 'post_status' => 'attachment' )); ?> <!-- 以下メインループ --> <?php if (have_posts()) : // WordPress ループ while (have_posts()) : the_post(); $loop_count++; // 繰り返し処理開始 ?>
post_type のところを attachment にすることで投稿メデイアのページに限定します
post_status を指定しないと attachment と使ったループは機能しないので post_statsu を attachment に指定します
メインループ内に設置
<?php echo wp_get_attachment_image( $post->ID, 'full', 0 ); ?>
画像だけ呼び出したい場合は上のコードにすることで画像のみを表示
画像以外のファイルもループに表示されるのですが
画像だけを取り出しているので無かったことになりページ上には表示されません
ただ、カウント数には入っているので 10件中2件が画像以外のファイルだった場合にはその分ループに表示sれる件数が減ります
画像以外のメデイアを除外するパラメータがあればいいのですが
私が調べた限りではどうやらないようなので、画像だけ表示したい場合には上のコードの使い方で出来ます
すべてファイル・メデイアを表示したい場合は末尾の0を1にすることで
メデイア アイコンで表示されます
PR
COMMENT