web-dev-qa-db-ja.com

投稿の途中に広告コードを挿入する

functions.phpを使って投稿の途中に広告コードを挿入したいです。

私はいくつかのリンクを見つけましたが、それらはfunctions.phpを使わないか、コードを途中で挿入しません。

誰もがこれを行う方法を教えてもらえますか?

また、私はプラグインを使用したくありません。

2
Elmo

この関数は、指定した段落の後に広告コードを挿入します。

add_filter('the_content', 'wpse_ad_content');

function wpse_ad_content($content)
{
    if (!is_single()) return $content;
    $paragraphAfter = 2; //Enter number of paragraphs to display ad after.
    $content = explode("</p>", $content);
    $new_content = '';
    for ($i = 0; $i < count($content); $i++) {
        if ($i == $paragraphAfter) {
            $new_content.= '<div style="width: 300px; height: 250px; padding: 6px 6px 6px 0; float: left; margin-left: 0; margin-right: 18px;">';
            $new_content.= '//Enter your ad code here....';
            $new_content.= '</div>';
        }

        $new_content.= $content[$i] . "</p>";
    }

    return $new_content;
}
14
Chris_O

いくつかの選択肢があります。

まず、@iambriansreedが推奨するようにショートコードを使用できますが、ショートコードを登録するにはPHPプログラミングを知っておく必要があります。次のコードは (スペイン語の)ウェブサイトからのものです Adsenseで簡単なショートコードをプログラムする方法を示します。

/* 
 * Copy the code into your theme's functions.php file
 * Change the AdSense <script> for yours 
 */
function showads() {
    return '<div><script type="text/javascript"><!--
    google_ad_client = "pub-XXXXXXXXXXXXXX";
    google_ad_slot = "4668915978";
    google_ad_width = 468;
    google_ad_height = 60;
    //-->
</script>

<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>';
}

add_shortcode('adsense', 'showads');

次に、 Quick Adsense のようなプラグインを使用して、同じショートコードを簡単にカスタマイズできるようにするか、広告を配置する場所をプラグインに選択させることができます。

そして最後に、n番目の段落に広告を追加するための独自のコードを書くことができます(つまり、各段落を利用してn番目の段落を選択し、そこに広告コードを追加します)。これは最善の解決策ではありませんが、完全にカスタマイズ可能になります。