サポート » テーマ » TwentySeventeen,記事の途中に広告を貼りたい

  • 解決済 torabutta

    (@torabutta)


    現在テーマはTwentySeventeenを使用しております。

    記事の途中に広告(GoogleAdsense)を貼りたいのですが、記事を書くたびにショートコードを入れるのが大変だと思い、色々と調べた結果、テーマの編集>個別投稿(single.php)にコードを記入することにしたのですが、どこにコードを書けばよいのかわかりません。

    こちらのページを参考にしたのですが、書かれているコードが見当たりません。
    試しにコードを書いてもフッターの近くに表示されたりします。

    またH2タグを使用しておらず、代わりにH1タグを1つの記事に大めに使用しています。

    コードを記入しても具体的にどの辺りに広告が表示されるのかわかりません。
    どのようにすれば記事中に広告が貼れるのでしょうか?よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは

    the_content フィルターフックを使用する方法ではどうでしょうか。

    記事の途中ということですが具体的な位置(h2 タグの下とか末尾とか)が不明でしたので、下記のサンプル コードでは末尾に追加することとしました。

    function my_append_adsense_content_bottom( $content ) {
    	if ( is_single() ) {
    
    		// Adsense コード
    		$adsense = 'Adsense コード';
    
    		// ショートコードを使用する場合
    		//$adsense = do_shortcode('[xxx]');
    
    		$content .=  $adsense;
    	}
    	return $content;
    }
    add_filter( 'the_content', 'my_append_adsense_content_bottom' );

    ありがとうございます。 無事に広告を貼る事が出来ました。

    申し訳ないのですが、複数あるH1タグの中の一番最初のH1タグの上に広告を貼る事は出来るのでしょうか?
    連続質問で申し訳ないのですが、よろしくお願いします

    preg_replace 関数で、h1 タグを正規表現で検索し置換するといいかな。

    function my_append_adsense_content( $content ) {
    	if ( is_single() ) {
    		$adsense = 'ここに Adsense のコードを記述';
    		$pattern = '/<h1.*?>/i';
    		if ( preg_match( $pattern, $content, $matches ) ) {
    			$content = preg_replace( $pattern, $adsense . $matches[0], $content, 1 );
    		}
    	}
    	return $content;
    }
    add_filter( 'the_content', 'my_append_adsense_content' );

    ありがとうございます。 一番最初のH1の上に広告を貼る事が出来ました。今回フィルターフックというものの存在を初めて知りました。 これほど便利な機能があるとは思いませんでした。ありがとうございます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「TwentySeventeen,記事の途中に広告を貼りたい」には新たに返信することはできません。