- 本日
- 週間
- 月間
-
年末年始の渋滞予測・渋滞予想は、名神・東名は1月2日、3日がピークで55km…。 2PV
さてさてもうそろそろ、年末年始の帰省ラッシュ時期に近づいてきました。年に幾度となくこの帰省ラッシュという言葉が踊るのでしょうか。 まずは今回のように年末年始、そして夏のお盆時期の会社が夏休みの時期が大…
-
-
スマホファースト用にStinger6Stinger7をカスタマイズ 2PV
WordPressはカスタマイズ性が優れているのは周知の事実だと思います。function.php内にしていする関数?などによっていろいろな事が出来るようになります。 また、テーマによってカスタマイズ…
-
ナビテレビが見れなくなった時ICカードが正常に動作しませんでした対処方法 74PV
本日ではなく昨日になってしまいますが、それまでカーナビで地デジ対応のナビで突然エンジンをかけなおしたら・・・・・・。 「ICカードが正常に動作しませんでした。販売店にお問い合わせください。」 なんてい…
-
カーメイトのエンジンスターターでエラー15表示と対処方法 26PV
夏冬に特に重宝するのが、エンジンスターターです。 メーカーはCARMATEやCOMTECユピテルなど各社ありますが、一番のオススメはリモコンから多くの情報を得ることができるカーメイト製品です。 なぜか…
-
エクストレイルT32運転席側バイザーメッキモール剥がれ修復方法とオススメ両面テープ 23PV
車の購入後、乗ろうが乗らまいが経年劣化というものは付きものなのですが、特にプラスチック部分や両面テープ部分などは経年劣化がどうしても起きてきてしまいます。 そんな車でも長めにお気に入りの愛車となれば長…
-
ナビテレビが見れなくなった時ICカードが正常に動作しませんでした対処方法 74PV
本日ではなく昨日になってしまいますが、それまでカーナビで地デジ対応のナビで突然エンジンをかけなおしたら・・・・・・。 「ICカードが正常に動作しませんでした。販売店にお問い合わせください。」 なんてい…
-
カーメイトのエンジンスターターでエラー15表示と対処方法 26PV
夏冬に特に重宝するのが、エンジンスターターです。 メーカーはCARMATEやCOMTECユピテルなど各社ありますが、一番のオススメはリモコンから多くの情報を得ることができるカーメイト製品です。 なぜか…
-
エクストレイルT32運転席側バイザーメッキモール剥がれ修復方法とオススメ両面テープ 23PV
車の購入後、乗ろうが乗らまいが経年劣化というものは付きものなのですが、特にプラスチック部分や両面テープ部分などは経年劣化がどうしても起きてきてしまいます。 そんな車でも長めにお気に入りの愛車となれば長…
本日の人気記事トップ10
WordPressで記事の途中に思い通りの広告などをショートコードなどによって、
挿入する方法はいくつかあります。
今回は、 記事中の始めのh2タグの前にウィジェットとして追加して自動的に表示する方法です。
具体的な方法はfunction.phpに以下のコードを記載・記述することで、
///////////////////////////////////////
// 投稿本文中ウィジェットの追加
///////////////////////////////////////
register_sidebars(1,
array(
'name'=>'投稿本文中',
'id' => 'widget-in-article',
'description' => '投稿本文中に表示されるウイジェット。文中最初のH2タグの手前に表示されます。',
'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');
管理画面の中に記事中ウィジェットという項目が追加されます。
こんな感じです。
![記事本文中にウィジェット追加](https://infovarious.com/wp-content/uploads/2016/03/e5ee94ec8be10d6ce9644fc0787b8242-300x81.png)
ここに、
テキストなどのウィジェットを追加すると、
記事中の始めのh2タグの上部に追加した内容が表示されるようになります。
ショートコードなどをわざわざ使用しなくても、
自動的に広告などが表示されるようになります。
最後に、function.phpをいじる際には、
記事中の始めのh2タグの前にウィジェットとして追加して自動的に表示する方法です。
具体的な方法はfunction.phpに以下のコードを記載・記述することで、
///////////////////////////////////////
// 投稿本文中ウィジェットの追加
///////////////////////////////////////
register_sidebars(1,
array(
'name'=>'投稿本文中',
'id' => 'widget-in-article',
'description' => '投稿本文中に表示されるウイジェット。文中最初のH2タグの手前に表示されます。',
'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');
管理画面の中に記事中ウィジェットという項目が追加されます。
こんな感じです。
ここに、
テキストなどのウィジェットを追加すると、
記事中の始めのh2タグの上部に追加した内容が表示されるようになります。
ショートコードなどをわざわざ使用しなくても、
自動的に広告などが表示されるようになります。
必ずFTPソフトなどでいじる前のfunction.phpファイル自体をバックアップしてからにしてください。
でないとミスした時などに画面が真っ白になってしまいます。
バックアップをとっていればそのバックアップファイル自体を元の場所にアップロードで上書きすることで元に戻すことができます。
参考サイト)
表示をカスタマイズしたい方は、CSSで簡単に微調整ができます。
広告部分には「 .widget-in-article 」、ラベル部分には「 .widget-in-article-title 」というclass名が振られているので、CSSですぐにカスタマイズできます。
参考にCSSです。
.widget-in-article {
margin-bottom: 20px;
}
.widget-in-article-title {
font-size: 80%;
color: #333;
}
[…] WordPress記事中最初のH2見出し前に広告を自動挿入方法 […]