web-dev-qa-db-ja.com

拡張マークアップでテーマがキャプションテキストをどのようにレンダリングするか(例: "wp-caption"段落)

私は非常に細いテンプレートに基づいて私自身のテーマを作成しました。私のテーマは[caption]...[/caption]マークアップを正しいHTMLに解析していません。マークアップなしでテキストを表示しているだけです。これが私の状況に関連した観察です。

  • 投稿を編集するとき、それは "テキスト"モードで[caption]...[/caption]、および "ビジュアル"モードでキャプション付きの素敵な画像を表示します。 (予想通り)
  • 私が投稿を見ると(単体)、<img .../>タグとキャプションテキストをプレーンテキストとしてレンダリングするだけです。
  • 私がテーマTwentyElevenでその投稿(単体)を見ると特別なタグ<p class="wp-caption-text">my caption</p>でキャプションテキストをレンダリングします。これが私自身のテーマの中で私が追求していることです。

その最後の観察は重要であるように思われます、そして私は解決への私の導きであるべきです。私はTwentyElevenテーマを掘り下げました、そしてそれは私自身のテーマがするのと同じ方法で内容をレンダリングすることがわかりました:

<?php the_content(); ?>

TwentyElevenファイルをすべて開いて検索しましたが、どこでも重要な "wp-caption"、またはTwentyElevenがWordPressでキャプションを解析してレンダリングする方法に関するその他の手掛かりを見つけることができませんでした特別なマークアップでそれらを。

私の本能がテーマがショートコードを解析するためのフックまたはフィルタを登録するかもしれないところであると私に言ったので私はTentyElevenのfunctions.phpファイルを通り抜けました、しかし私は何も見つけられませんでした。

さらに、私は以下を試しました:

  • echo apply_filters('the_content', get_the_content());
  • echo do_shortcode(get_the_content());

しかし、どちらも望ましい結果をもたらしません。

それで、質問はです:テーマはどのようにWordPressにキャプションを解析させて特別なマークアップでレンダリングさせますか?

1
Jeroen

そのcaptionショートコード はWordPressに組み込まれています 。テーマまたはプラグインが未登録で代替品を登録していない限り、どのテーマでも同じマークアップを生成するはずです。それがあなたのテーマに当てはまるのか、TwentyElevenに当てはまるのか私は知りません。テーマファイルで「img_caption_shortcode」、おそらくfunctions.phpを探します。あなたのテーマがそれを登録解除しているなら、 あなたはどこかにremove_shortcode('img_caption_shortcode');を見るべきです

CSS、そして処理されたショートコードの外観は、ほぼ確実にテーマごとに異なります。

3
s_ha_dum