情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
画像の一覧から投稿へリンクしたい、ということで調べてみた。
画像に紐付いた投稿はpost_parent としてデータベースに保存されているそうで、
$post = get_post(‘画像ID’); $ID = $post->post_parent; echo get_permalink($ID);
こんな感じで取得できるところまでは確認した。
画像自体をカテゴリー分けしたいということでMedia Library Categoriesなどを使用する想定だが、未実装なのでアイデアのみ。
追記
投稿タイプwork に添付された画像を投稿へのリンク付きで
<?php $query = new WP_Query(
array(
'post_type' => 'work',
'posts_per_page' => -1,
'fields' => 'ids'
)
);
$image_query = new WP_Query(
array(
'post_type' => 'attachment',
'post_status' => 'inherit',
'post_mime_type' => 'image',
'posts_per_page' => -1,
'post_parent__in' => $query->posts,
'order' => 'DESC'
)
);
if( $image_query->have_posts() ){
while( $image_query->have_posts() ) {
$image_query->the_post();
$imgurl = wp_get_attachment_url( get_the_ID() );
$attachment_id = attachment_url_to_postid( $imgurl );
$post = get_post($attachment_id);
$pid = $post->post_parent;
$link = get_permalink($pid);
echo '<a href="'.$link.'"><img src="'.$imgurl.'"></a>';
}
} ?>
ACFで添付ファイルにカスタムフィールドを付けることも可能なので、ラジオボタン等で画像の分類も可能。
2019.7.17追記:
実装完了。これを、URLとかテーマファイルとか、どうやって実装するか悩みましたが、結局、
・画像はACFで分類を付ける
・アーカイブのURLに画像分類のパラメータを付け、パラメータの有無で読み込むテーマファイルを分岐
・上記image_queryの後でACFを取得しforeach
・パラメータの値とACFの値が同じなら画像を表示
としました。