Mar
25
2009

Media Library Gallery

5:57 am

WordPress に投稿した記事の中の画像は、Media library に保存されますが、このプラグインは、それをGallery にしてしまうというものです。
投稿画像がすべて表示されるので、Gallery というよりも、どちらかと言うと、画像のアーカイブに近いのかもしれません。
このサイトでは、gallery ページのサブページにMedia Library Gallery ページを作り、一覧表示させています。
インストールは、通常のプラグインと同様です。
そして、表示させたいページや記事に
media-library-gallery nb=xx(実際は、コードの両側を[,]で囲います)
と書くだけです。xx は、3の倍数の15とか21とかが望ましいです。

なお、media-library-gallery.php には、エラーがあり、画像数が複数ページになる場合、各ページへのリンク切れという不具合を生じています。
対応は、以下のように、3箇所で / を追加してあげれば、正常に作動するようになります。

			$html_nav_bar = "<div class='mlg-navbar'><strong>" . __("Pages") . "</strong> : ";
			if($page > 1)
			{
				$html_nav_bar .= " <a href='" . get_permalink() ."/" . ($page - 1) . "/'>&laquo;</a> ";
			}
			for($i = 1; $i <= $max_page; $i++)
			{
				if($i == $page)
				{
					$html_nav_bar .= " <strong>$i</strong> ";
				}
				else
				{
					$html_nav_bar .= " <a href='" . get_permalink() . "/$i/'>$i</a> ";
				}
			}
			if($page < $max_page)
			{
				$html_nav_bar .= " <a href='" . get_permalink() ."/" . ($page + 1) . "/'>&raquo;</a> ";
			}
			$html_nav_bar .= "</div>";

また、原コードでは、画像タイトルへのリンクが張られていますが、うっとおしいのでリンクをはずすようにカスタマイズしています。

保護中の投稿記事内の画像もそのままでは公開されてしまいますので、以下のようにexcludeで除外したい画像ID(投稿IDではありません)を指定すると当該画像を除外できます。もう少しエレガントな方法もあるのでしょうが、とりあえず・・・。一番下のラインでリストアップする画像のタイプをJPG(またはJPEG)に絞っています。

		$posts = get_posts(array(
			"showposts"=>-1,
			"what_to_show"=>"posts",
			"exclude"=>"2399,2018,2013,1622,1371,1723",
			"post_status"=>"inherit",
			"post_type"=>"attachment",
			"orderby"=>"menu_order ASC, ID ASC",
			"post_mime_type"=>"image/jpeg,image/jpg"));

No Comments »

RSS feed for comments on this post. TrackBack URL

Leave a comment

You must be logged in to post a comment.

www.hbirds.net