ほりくり@ほりでぃWebクリエーター

NextGEN Galleryでタグを表示する方法

投稿日:2015年1月7日

更新日:2015年1月8日

NextGEN Gallery:Ver 2.0.66.37



NextGEN Galleryを使用していてサムネイル一覧の下にタグを表示させたい!!
ところがネットを調べてみても方法を書いてあるサイトが全然見つからなかった。。。
キャプションを表示する方法は見つかったんですけどね。

いくら探しても見つからなかったので自分でいじくりまわして、タグを表示させることに成功しました(*´Д`)
この方法が正しいわけはないと思うけど、また使うかもしれないので備忘録としてカキコ。

絶対もっと簡単な方法あるだろ。。。






NextGEN Galleryのテンプレートを直接いじる


■後日追記
テンプレートを自作する方法が判りました。
プラグインファイルを直接いじらずに自作のテンプレートをカスタマイズしたほうが良いです(*´Д`)
http://web.mass-mix.com/338


表示方法をカスタマイズする必要があるのでテンプレートを直接弄ることにしました。
今回はサムネイル一覧表示の下にタグを出力したかったのでサムネイル用のテンプレートを修正します。

テンプレートのパスは以下のとおり。

/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/index.php

階層が深いです。
探すのに苦労しました。。。

70行目辺りに下記のコードを記述します。
1行上のAタグの中に入れても良いかもしれません。

tags:
<?php 
	$tags = wp_get_object_terms( $image->pid , 'ngg_tag' ); 
	if ($tags):
		$tmp = $tags;
		foreach( $tags as $my_tag):
			echo $my_tag->name;
			if(next($tmp)):
				echo ',';
			endif;
		endforeach;
	endif;
?>


NextGEN Galleryのタグも記事のタグ同様にタクソノミー関連のデータベースに格納されます。
taxonomyの値はngg_tagです。

get_the_terms関数では正しく取得できないものがありましたので、wp_get_object_terms関数を使用して取得します。
get_the_terms関数は第一引数が投稿IDですので、正しい使用方法ではありません。


作業は以上です(・∀・)


もっと簡単な方法をご存じの方は教えて下さいませ(´・ω・`)



テンプレいじっても更新されない時


何気にコレにすんげぇ躓いた。。。。
テンプレートを修正しても全然修正が反映されない。
ブラウザのキャッシュを消してみても、プラグインを無効化有効化してみても変わらない。

と、思ったらNextGEN Galleryがキャッシュを持ってるんですね。

ですのでテンプレートを更新したらプラグインのキャッシュを削除しましょう。

キャッシュの削除方法は
Gallery → OtherOption → Miscellaneous → Clear image cache

「Clear image cache」ボタンを押したら「OK」を選択。
これでキャッシュが消え、テンプレートの修正が反映されます。

NextGEN-Gallery



特定のタグの写真数を取得

タグごとに写真を表示したりして、そこにそのタグの写真の枚数を出力したかったりしますよね!!
これも方法が分からなかったのでゴリ押しでやってみますた。

$my_terms = get_term_by('name',タグの名称, 'ngg_tag' );
echo $my_terms->count;

タグの名称で検索する場合は第一引数をname
タグのIDで検索する場合は第一引数をidにします。

いたってシンプルに取得できますね。