KH-WEBLOG TOP > WEBメモ > WordPress > 記事の最初の見出しの前にコンテンツを追加する方法:WordPress

記事の最初の見出しの前にコンテンツを追加する方法:WordPress

WordPressの記事の最初の見出しの前にコンテンツを追加する方法をご紹介します。

CTAコンテンツや、アドセンスを挿入したい場合に便利です。

コーディング・WordPress化作業を代行します

functions.phpに追加する

以下のソースをfunctions.php内に追加します。

register_sidebars(1,
  array(
  'name'=>'CTAボタン',
  'id' => 'widget-in-article',
  'description' => '投稿本文中に表示されるウイジェット。',
  'before_widget' => '<div id="%1$s" class="widget-in-article %2$s">',
  'after_widget' => '</div>',
  'before_title' => '<div class="widget-in-article-title">',
  'after_title' => '</div>',
));
///////////////////////////////////////
//H2見出しを判別する正規表現を定数にする
///////////////////////////////////////
define('H2_REG', '/<h2.*?>/i');//H2見出しのパターン
///////////////////////////////////////
//本文中にH2見出しが最初に含まれている箇所を返す(含まれない場合はnullを返す)
//H3-H6しか使っていない場合は、h2部分を変更してください
///////////////////////////////////////
function get_h2_included_in_body( $the_content ){
  if ( preg_match( H2_REG, $the_content, $h2results )) {//H2見出しが本文中にあるかどうか
    return $h2results[0];
  }
}
///////////////////////////////////////
// 投稿本文中の最初のH2見出し手前にウィジェットを追加する処理
///////////////////////////////////////
function add_widget_before_1st_h2($the_content) {
  if ( is_single() && //投稿ページのとき、固定ページも表示する場合はis_singular()にする
       is_active_sidebar( 'widget-in-article' ) //ウィジェットが設定されているとき
  ) {
    //広告(AdSense)タグを記入
    ob_start();//バッファリング
    dynamic_sidebar( 'widget-in-article' );//本文中ウィジェットの表示
    $ad_template = ob_get_clean();
    $h2result = get_h2_included_in_body( $the_content );//本文にH2タグが含まれていれば取得
    if ( $h2result ) {//H2見出しが本文中にある場合のみ
      //最初のH2の手前に広告を挿入(最初のH2を置換)
      $count = 1;
      $the_content = preg_replace(H2_REG, $ad_template.$h2result, $the_content, 1);
    }
  }
  return $the_content;
}
add_filter('the_content','add_widget_before_1st_h2');

上記の「CTAボタン」の箇所はウィジェット名になりますので自由に設定可能です。

define('H2_REG', '/<h2.*?>/i');//H2見出しのパターン

今回は最初のh2の見出し前の前提ですが、h3見出しの前に表示したい場合は上記の箇所をh3に変更する事で対応可能です。

あとは
ウィジェットに「CTAボタン」というウィジェットが追加されていますので、
そのウィジェット内に追加したいコンテンツを記述することで見出しの前に表示されるようになります。

コーディング・WordPress化作業を代行します

WordPressのおすすめ参考書

楽天Kobo電子書籍ストア
¥3,278 (2024/04/27 13:26時点 | 楽天市場調べ)

TAGS

.htaccess ActionScript All in one seo pack Contact Form 7 CSS CSS3 EC-CUBE Flash HTML HTML5 JavaScript jQuery LightBox PHP RSS SEO WordPress アイキャッチ画像 アクセス解析 カスタムフィールド カテゴリー カラーミーショップ カート コメント ショートコード テンプレートタグ ドロップダウンメニュー パーマリンク フォーム フルスクリーン ブログカード プラグイン ページテンプレート ページナビ ページ分割 マウスイベント リダイレクト リンク リンクカード レンタルサーバー ロールオーバー 携帯サイト 条件分岐 正規表現 関連記事