- ベストアンサー
WordPressメディアの一覧出力
- WordPressのメディアライブラリの一覧を簡単なリストとして、固定ページなどに表示させたいです。
- メディアライブラリにアップされた*.MP3だけを表の固定ページにリストとして列挙させたいと思っています。
- アップしたユーザー名、日付、タイトル、ファイルのリンクがリストの形式で並べられれば良いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<?php foreach($myposts as $post) : setup_postdata($post); // 追加 ?> <li><?php the_attachment_link($post->ID, false); ?> (<?php the_time('Y.n.j'); ?>)</li> <?php endforeach; wp_reset_postdata(); // 追加 ?> とやると、the_author(); でも出てくると思います。
その他の回答 (1)
- komododragon
- ベストアンサー率77% (47/61)
メディアもポストとして管理されているはずなので get_posts で取得できると思います。 $my_posts = get_posts('post_type=attachment&post_mime_type=audio/mpeg&posts_per_page=-1); あとは、通常のポストと同じようにループで処理 ※mp3 の post_mime_type が audio/mpeg が正しいかどうかはやったことないのでわかりません。
補足
ご回答ありがとうございます。 教えていただいた内容でなんとなーく近くなってきました。 <ul> <?php $myposts = get_posts('post_type=attachment&post_mime_type=audio&posts_per_page=-1&orderby=author'); foreach($myposts as $post) : ?> <li><?php the_attachment_link($post->ID, false); ?> (<?php the_time('Y.n.j'); ?>)</li> <?php endforeach; ?> </ul> こんな感じでやってみているのですが、以下のように出力されます。 ・TestBGM_01 (2012.2.20) ・TestBGM_02 (2012.2.18) ・TestBGM_03 (2012.2.27) この上記のTestBGM_~はMP3なのですが、各ファイル製作者(アップロードユーザー)が 異なり、このファイル名の手前などに製作者の名前をつけたいのです。 <?php the_author(); ?> これだとこの固定ページの製作者であるユーザー名が表示されてしまい、 うまくいきませんでした。 各メディアファイルの投稿者を取得するにはどのような記述が正しいでしょうか。。
補足
<TABLE border="1"> <TBODY> <?php $myposts = get_posts('post_type=attachment&post_mime_type=audio&posts_per_page=-1&orderby=author'); foreach($myposts as $post) : setup_postdata($post); ?> <TR><TD width="50%"><?php printf( _x( ' %s', 'Post written by...', 'buddypress' ), bp_core_get_userlink( $post->post_author ) ) ?></TD> <TD width="50%"><?php the_attachment_link($post->ID, false); ?></TD> <TD width="100"><?php the_time('Y.n.j'); ?></TD></TR> <?php endforeach; wp_reset_postdata(); ?> </TBODY> </TABLE> こんな感じでうまくいけました。 バディプレス使っているので上記のような形になりました。 ほんと助かりました、ありがとうございます^^