当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

ギャラリーショートコードの使い方

提供: WordPress Codex 日本語版
2015年7月30日 (木) 16:07時点におけるMiccweb (トーク | 投稿記録)による版 (最新版のマージ 未訳あり)

移動先: 案内検索

ギャラリー機能により固定ページや記事に画像ギャラリーを追加できるようになりました。

[gallery] ショートコード APIを使って投稿に添付された画像のサムネイルギャラリーを表示することができます。

WordPress 2.5から、WordPress 3.5まで、ギャラリーショートコードは、一般的に以下の基本的な形態で使用しました:

[gallery]

WordPress 3.5以降では、ギャラリーショートコードは、以下のようにデフォルトで画像IDを含めます。:

[gallery ids="729,732,731,720"]

It's important to note that this style of gallery shortcode is not new to 3.5, previously we could use the include attribute. However it is much easier to generate and manage with the new Media Workflow introduced in 3.5.

Specifying IDs in your shortcode allows you to include images in your gallery that aren't necessarily "attached" to your post — that is to say, not uploaded from within your post or page. This flexibility allows you to create and embed any number of galleries containing any number of images!

注: If you choose to just use the "barebones" version of the [gallery] shortcode in your post or page, only images that are "attached" to that post or page will be displayed.


以下の書き方でいくつかオプションを指定することができます。

[gallery option1="value1" option2="value2"]

テンプレートファイル内で直接ギャラリーを出力することもできます。

 <?php echo do_shortcode('[gallery option1="value1"]'); ?>

以下のように記述しても良いです。

 <?php
    $gallery_shortcode = '[gallery id="' . intval( $post->post_parent ) . '"]';
    print apply_filters( 'the_content', $gallery_shortcode );
 ?>

オプション

基本的には以下のオプションをサポートしています:

orderby 
specify how to sort the display thumbnails. The default is "menu_order". Options:
  • menu_order - you can reorder the images in the Gallery tab of the Add Media pop-up
  • title - order by the title of the image in the Media Library
  • post_date - date/time でソート
  • rand - ランダムにオーダーする
  • ID
orderby 
画像の表示順序のキーとなる項目を指定します。スペース区切りで複数指定できます。初期値は "menu_order ID" です。"RAND" (ランダム)も指定できますがその場合、order の指定は無視されます。
order 
画像の表示順序を指定します。初期値は "ASC" です。ASCまたはDESC。例えば、IDを DESC でソートするには以下:
 [gallery order="DESC" orderby="ID"]
columns 
カラム数を指定します。各々の行の後には改行タグが挿入され、カラムの幅は適切に調整されます。初期値は 3 です。0 にすると改行タグは挿入されません。例えば、4カラムのギャラリーなら以下のように指定します。
[gallery columns="4"]
id 
投稿IDを指定します。指定された投稿に添付されている画像のギャラリーを表示します。ID の指定がない場合は、現在の投稿がギャラリーの対象になります。例えば、投稿のIDが123の画像ギャラリーを表示するなら以下のように指定します。
[gallery id="123"]
size 
ギャラリーとして表示するサムネイル画像のサイズを指定します。指定できる値は "thumbnail", "medium", "large", "full" です。初期値は "thumbnail" です。"thumbnail(サムネイルのサイズ)", "medium(中サイズ)", "large(大サイズ)" の画像サイズは管理画面の 設定 > メディア で指定できます。例えば、"medium(中サイズ)" の画像ギャラリーを表示するなら以下のように指定します。
[gallery size="medium"]

さらに高度な設定をすることもできます。


itemtag 
ギャラリーの各項目(画像とキャプション)を囲む XHTML タグの名前を指定します。初期値は "dl" です。
icontag 
ギャラリーの各画像を囲む XHTML タグを指定します。初期値は "dt" です。
captiontag
各キャプションを囲む XHTML タグを指定します。初期値は "dd" です。

例えば、ギャラリーのマークアップを div, span, p タグに変更するなら以下のように指定します。

[gallery itemtag="div" icontag="span" captiontag="p"]
link
"file" を指定すると各画像は画像ファイルへリンクされます。初期値はメディアのパーマリンクへのリンクです。
  • file - 画像ファイルに直接リンク
  • none - リンクなし
[gallery link="file"]
include
表示したい添付画像のIDをコンマで区切って指定します。以下のように指定すると、指定したIDの画像のみ表示されます。
[gallery include="23,39,45"] 
exclude
表示したくない添付画像のIDをコンマで区切って指定します。

include と exclude は同時に指定しないでください。同時に指定した場合は include が優先されます。以下のように指定すると、指定したIDの画像は表示されません。

[gallery exclude="21,32,43"] 

開発者向け - Things to consider

The default expected behavior for a gallery that has no explicit IDs stated is to add all images that have the post as post parent assigned. In other words, add all images that were uploaded using the "Add media" button/link on this post edit screen. Keep in mind that this as well means that every attachment added to that post later on will be interpreted to be part of the gallery. No matter if it was displayed as plain attachment or not.

This should be the default fallback if no argument were provided: ...lorem [gallery] ipsum...

$attachments = get_children( array(
	'post_parent'    => $attr['id'],
	'post_status'    => 'inherit',
	'post_type'      => 'attachment',
	'post_mime_type' => 'image',
	'order'          => $attr['order'],
	'orderby'        => $attr['orderby'],
) );

And stop using extract() on shortcode_atts() (or anywhere else). IDEs are not able to backtrace that.


変更履歴

  • 2.9 : include, exclude オプション追加
  • 2.5 : 新規機能


ソースファイル

The gallery shortcode は wp-includes/media.phpにあります。


関連

ショートコード: [audio] /en, [caption] /en, [embed] /en, [gallery] /en, [playlist] /en, [video] /en

このページ「ギャラリーショートコードの使い方」は一部未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています

最新英語版: WordPress Codex » Gallery Shortcode最新版との差分