web-dev-qa-db-ja.com

Figure/figcaptionとして画像を出力する方法

メディアアップローダーからWP画像をFigure/Figcaptionとして出力する方法を見つけようとしています。 WP 26テーマを使用すると、デフォルトではfigure/figurecaptionが出力されます。コードを検索すると、その結果がわかりません。私はそれを追加すると思った:

add_theme_support( 'html5', array(
        'search-form',
        'comment-form',
        'comment-list',
        'gallery',
        'caption',
    ) );

十分でした。ところで、私は彼らがどのようにそれをするのか、あるいはそれを機能させるための正しい方法は何かを明確にしたいと思います。私は( ここ )からこのようなスニペットを見つけました:

function html5_insert_image($html, $id, $caption, $title, $align, $url) {
  $html5 = "<figure id='post-$id media-$id' class='align-$align'>";
  $html5 .= "<img src='$url' alt='$title' />";
  if ($caption) {
    $html5 .= "<figcaption>$caption</figcaption>";
  }
  $html5 .= "</figure>";
  return $html5;
}
add_filter( 'image_send_to_editor', 'html5_insert_image', 10, 9 );

しかし、26のテーマコードでは、私は似たようなものは何も見つけていません。

1
Kevin Mamaqi

add_theme_support( 'html5', array( 'gallery' ) );またはsearch-formcomment-formcomment-listcaptionなどの別の引数を使用した場合、 としての呼び出し - テーママークアップ

WordPressバージョン3.9以降で追加されたgalleryおよびcaptionのサポート。

バージョン3.9以降、WordPressはギャラリーを出力するために一般的な定義リストマークアップの代わりに<figure><figcaption>要素を使用します。これについての詳細は Make WordPress Coreの記事 にあります。 〜ワードプレス

add_filter( 'image_send_to_editor', 'image_add_caption', 20, 8 );はWordPressではdefault filterでした( https://core.trac.wordpress.org/browser/tags/4.4.2/src/wp-includes/default-filters.phpを見てください) #L441 )、それがテーマでそれを見つけることができる理由です。関数 image_add_caption を使うと、画像にショートコード[caption]を追加します。

1
Jevuska