[WordPress] メディアライブラリの画像やID、URLを一覧表示させたい
サンプルコード(functions.php)
function sc_show_medialibrary() {
$html = '';
$args = array(
'post_type' => 'attachment',
'post_status' =>'inherit',
'post_mime_type' => 'image',
'posts_per_page' => -1
);
$the_query = new WP_Query($args);
if($the_query->have_posts()) {
$html .= '<table>';
$html .= '<tr>';
$html .= '<th>image</th>';
$html .= '<th>id</th>';
$html .= '<th>url</th>';
$html .= '</tr>';
while($the_query->have_posts()) {
$the_query->the_post();
$url = wp_get_attachment_image_url(get_the_ID());
$html .= '<tr>';
$html .= '<td><img src="'. $url .'"></td>';
$html .= '<td>'. get_the_ID() .'</td>';
$html .= '<td>'. $url .'</td>';
$html .= '</tr>';
}
$html .= '</table>';
}
wp_reset_postdata();
ob_start();
echo $html;
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
add_shortcode('show_medialibrary', 'sc_show_medialibrary');
メディアライブラリの画像枚数が多い場合、サーバーに負荷がかかる可能性があります。その際は「posts_per_page」などクエリのパラメーターを調整してください。
上記コードをfunctions.phpに組み込んだあと、投稿や固定ページで下記ショートコードを記述することで、メディアライブラリの情報が表示されます。
[show_medialibrary]
ご質問など受け付けています
記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。
ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。