この記事は最後に更新してから1年以上経過しています。

標準で使用できる数少ないショートコード[caption]とは

説明

画像をアップロードして「投稿に追加」ボタンをクリックすると、投稿記事内にリンク付きのimgタグか、ショートコードのが挿入される。ここではそれらの書式を整理する。 まずはリンク付きのimgタグを見てみよう。
<a href="%リンクURL(添付画像)%"><img src="%表示画像URL%" alt="%代替テキスト%" title="%タイトル%" width="%幅%" height="%高さ%" class="size-%サイズ% wp-image-%投稿ID(添付画像)%" /></a>
これは「キャプション」が未入力の場合に挿入されるもので、aタグのhref属性(%リンクURL%)はアップロードした画像ファイルのURLが、imgタグのsrc属性(%表示画像URL%)にはアップロードした画像から作った縮小イメージのURLが指定されている。またimgタグのclass属性には2つのクラス名があり、前者のクラス名(size-%サイズ%)は「サイズ」の指定に応じてthumbnail、medium、large、fullの何れかが適用される(例:「中サイズ」であればsize-mediumとなる)。

次は本題の[caption]。これは「キャプション」を入力している時に挿入されるものである。
[caption id="attachment_%投稿ID(添付画像)%" align="%配置%" width="%幅%" caption="%キャプション%"]
<a href="%リンクURL(添付画像)%"><img src="%表示画像URL%" alt="%代替テキスト%" title="%タイトル%" width="%幅%" height="%高さ%" class="size-%サイズ% wp-image-%投稿ID(添付画像)%" /></a>
[/caption]
[caption]タグにはid、align、width、caption属性がそれぞれ指定され、中には先に説明したリンク付きimgタグが含まれている。align属性(%配置%)には、「配置」の指定に応じてalignnone、alignleft、aligncenter、alignrightの何れかが適用される(例:「なし」であればalignnoneとなる)。

投稿記事内のショートコードは、 the_content関数によって(自前で表示する場合は do_shortcode関数を使うことで) img_caption_shortcode関数がの呼び出され、次のようなHTMLテキストに変換される。
<div id="attachment_%投稿ID(添付画像)%" class="wp-caption %配置%" style="width: %幅+10%px">
<a href="%リンクURL(添付画像)%">
<img src="%表示画像URL%" alt="%代替テキスト%" title="%タイトル%" width="%幅%" height="%高さ%" class="size-%サイズ% wp-image-%投稿ID(添付画像)%">
</a>
<p class="wp-caption-text">%キャプション%</p>
</div>
※ここではHTML構造を見やすくするために改行しているが、実際には改行されていない。

展開されたHTMLテキストを簡単に説明すると、imgタグを内包するaタグに続いてpタグが生成され、全体をdivタグで囲んだ形式となる。divタグにはstyle属性としてwidthが指定されており、その値はのwidth属性値に10を加えたものとなるので、ページレイアウトの際は注意したほうがいい。また当然のことだが、これらを自テーマのcssでは、.alignnone、.alignleft、.aligncenter、.alignright、.wp-caption、.wp-caption-textなどの指定を忘れてはならない。

最終更新 : 2018年05月27日 10:53


お勧め

get_next_image_link(2021年7月25日 更新)

string get_next_image_link( [ string | int[] $size = 'thumbnail' [ , string | false $text = false ] ] )
次の添付ファイルへのリンクを取得する。

wp_after_insert_post(2020年12月11日 更新)

void wp_after_insert_post( int | WP_Post $post, bool $update, WP_Post $post_before )
投稿情報を保存した後にアクションを実行する。

wp_save_post_revision(2024年1月10日 更新)

int | WP_Error | void wp_save_post_revision( int $post_id )
現状の投稿のリビジョンを作成する。

wp_debug_backtrace_summary(2012年6月15日 更新)

mixed wp_debug_backtrace_summary( [ string $ignore_class = null [ , int $skip_frames = 0 [ , bool $pretty = true ] ] ] )
デバッグ用の呼び出し情報を取得する。

nocache_headers(2018年5月27日 更新)

void nocache_headers( )
ブラウザのキャッシュを無効にするHTTPヘッダーを出力する。