img_caption_shortcode

説明

string img_caption_shortcode( array $attr [ , string $content = null ] )
キャプション付き画像のHTMLテキストを生成する(投稿記事に添付画像を挿入する場合に使用されているの実態関数)。

パラメータ

  • $attr
    属性値の連想配列。
    属性名意味値の例
    iddivタグまたはfigureタグのIDattachment-1234
    caption_id[5.1.0]pタグまたはfigcaptionタグのIDcaption-1234
    align配置指定(alignnone、alignleft、aligncenter、alignright)alignnone
    width画像幅300
    captionキャプションテキスト
  • $content
    画像のHTMLテキスト(省略時はnull)。

返り値

キャプション付き画像のHTMLテキストを返す。

注意

生成されるHTMLテキストは次のような構造になる(なおパラメータ$contentの内容は、HTMLタイプ(HTMLかXHTML)に応じて整形される)。

<div id="$attrのid値" class="wp-caption $attrのalign値" style="width: $attrのwidth値に10を加えた値;">$contentの内容<p id="$attrのcaption_id値" class="wp-caption-text">$attrのcaption値</p></div>

テーマのcaptionが'html5'に対応している場合はdivタグではなくfigureタグが適用される。

<figure id="$attrのid値" class="wp-caption $attrのalign値" style="width: $attrのwidth値;">$contentの内容<figcaption id="$attrのcaption_id値" class="wp-caption-text">$attrのcaption値</figcaption></figure>

[5.1.0]ショートコードの属性値に'caption_id'が追加された。


使用例

  • 直接本関数を呼んでキャプション付き画像のHTMLテキストを生成する。
    <?php 
    echo img_caption_shortcode( 
    	array(
    		'id'=>'attachment-1234', 
    		'caption_id'=>'caption-1234',
    		'align'=>'alignnone', 
    		'width'=>300, 
    		'caption'=>'ここにキャプション'
    	), 
    	'<a href="http://localhost/wp-content/uploads/image100.jpg"><img src="http://localhost/wp-content/uploads/image100-300x200.jpg" alt="ここに代替テキスト" title="ここにタイトル" width="300" height="200" class="size-medium wp-image-1234" /></a>' ); 
    ?>
    上記の場合に生成されるHTMLテキストは次の通り。
    <div id="attachment-1234" class="wp-caption alignnone" style="width: 310px">
    <a href="http://localhost/wp-content/uploads/image100.jpg">
    <img src="http://localhost/wp-content/uploads/image100-300x200.jpg" alt="ここに代替テキスト" title="ここにタイトル" width="300" height="200" class="size-medium wp-image-1234">
    </a>
    <p id="caption-1234" class="wp-caption-text">ここにキャプション</p>
    </div>
    ※ここでは便宜上改行しているが、実際に取得できるHTMLテキストは改行していない。

フィルター

[2.6.0]本関数でHTMLを生成する前に'img_caption_shortcode'フィルターを呼び出す。パラメータ$outputには''が、$attr$contentにはサニタイズ処理済みの内容が格納されている。
$output = apply_filters( 'img_caption_shortcode', $output, $attr, $content );
[3.7.0]HTMLを生成する前に'img_caption_shortcode_width'フィルターを呼び出す。パラメータ$widthには幅のpx値が、$attsにはショートコードの属性値の連想配列が、$contentにはサニタイズ処理済みの内容が格納されている。
$caption_width = apply_filters( 'img_caption_shortcode_width', $width, $atts, $content );

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/media.php

最終更新 : 2019年03月04日 11:45



お勧め

固定ページのURLの拡張子をhtmlに変更する(2013年3月9日 更新)

固定ページについて、URLを静的ページっぽく拡張子htmlに変更したいという要望を受けることがある。これまでは「.html on PAGES」というプラグインを使っていて特に不満があったわけではないのだが、今回ひょんなことから簡単に対応できることがわかったので、メモ書きしておく。

子カテゴリのアーカイブページを親カテゴリ用のテンプレートファイルで表示しよう(2011年12月8日 更新)

少し前に投稿した「適切なテンプレートファイルを用意してテンプレート内の振り分け処理を無くす」で説明した通り、特定のカテゴリ専用のテンプレートとしてcategory-○○.phpを用意することで、category.phpやarchive.php内で振り分けを行う必要がなくなる。ただ、すべてのカテゴリ分を用意するのは効率的ではないし、特に子カテゴリについては親カテゴリと共通内容になるケースが多いのではないだろうか。ここでは、子カテゴリの個別テンプレートファイルを作らず、親カテゴリのテンプレートを利用する方法を紹介する。

固定ページを投稿ページ用テンプレートファイル(single.php)で表示する(2013年7月31日 更新)

固定ページと投稿ページのデザインが共通の場合、同じ内容のsingle.phpとpage.phpを用意すれば事足りるが、デザインの修正時は二度手間になってしまう。そこで、固定ページをsingle.phpで表示するようにできないか考えてみた。

HTML entities button:プラグイン作ってみました(2017年12月17日 更新)

以前投稿した「HTML編集モードに定型文ボタンを追加する」をアレンジして、HTML編集モードに特殊文字(HTMLエンティティ)を挿入できるボタン、顔文字を挿入できるボタン、過去の投稿ページのリンクを挿入できるボタンを追加するプラグインを作ってみました。HTML編集モードの作業効率を向上させるプラグインです。2.1.0では「Dashiconsの挿入」を追加しました。HTML編集モードをメインに使用されている方は、お試しあれ。

Login rebuilder 2.4.0の新機能を紹介(2018年5月27日 更新)

昨日、約半年ぶりにLogin rebuilderをアップデートし、著者ページ(author page)の閲覧を制限できる機能を追加した。この機能は、著者ページの閲覧によってユーザーIDが類推されることを防ぐことが目的としている。