• こんにちは。
    WordPressの記事内におけるgoogleアドセンスのチャネルを投稿者別に分岐したいと考えご質問致しました。

    当方、見習いデザイナーなのでHTML&CSSは扱えますがプログラムは未だJavaScriptもチンプンカンプンの状態での質問です。
    お手柔らかにお願いいたします。

    現在以下のようなタグをfunction.phpに記述して
    「記事の最初のh2タグの直前」
    「記事の2番めのh2タグの直前」
    の2箇所にアドセンスタグを挿入しています。

    以下のタグをどうにかして
    「投稿者別に違うチャネルのアドセンスタグを表示できないものか」と考えております。
    分岐したいのは2種類のチャネルで投稿者の権限はそれぞれ「管理者」と「寄稿者」の2種類です。

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /*****google adsenseショートコード(最初のh2タグの上にadsense配置)********/
    function add_ads_before_1st_h2($the_content) {
    if (is_single()) {
    //広告(AdSense)タグを記入
    $ads = <<< EOF

    <!–最初のアドセンスのコードをここに記述しています。–>

    EOF;
    $h2 = ‘/<h2.*?>/i’;//H2見出しのパターン
    if ( preg_match( $h2, $the_content, $h2s )) {//H2見出しが本文中にあるかどうか
    $the_content = preg_replace($h2, $ads.$h2s[0], $the_content, 1);//最初のH2を置換
    }
    }
    return $the_content;
    }
    add_filter(‘the_content’,’add_ads_before_1st_h2′);
    /*****google adsenseショートコード(最初のh2タグの上にadsense配置)の終わり********/

    /*****2番目の見出しタグの直前にアドセンスを埋め込むコード********/
    add_filter( ‘the_content’, ‘my_insert_ads_into_posts’ );
    function my_insert_ads_into_posts( $content ) {
    global $my_menu_name;
    if(is_single()){
    $my_ad_code = ‘

    <!–2番目のアドセンスのコードをここに記述しています。–>

    ‘;
    if (!is_admin() ) {
    return my_insert_before( $content,2, ‘<h2’ , $my_ad_code );
    }
    return $content;
    }
    else
    {
    return $content;
    }
    }
    function my_insert_after( $my_content , $my_ikutume, $my_kugiri, $my_insert ) {
    $kugirare_parts = explode( $my_kugiri, $my_content );
    foreach ($kugirare_parts as $index => $kugirare_part) {
    if ( trim( $kugirare_part )) {
    $kugirare_parts[$index] .= $my_kugiri;
    }
    if ( $my_ikutume == $index+1 ) {
    $kugirare_parts[$index] .= $my_insert;
    }
    }
    return implode( ”, $kugirare_parts );
    }
    function my_insert_before( $my_content , $my_ikutume, $my_kugiri, $my_insert ) {
    $kugirare_parts = explode( $my_kugiri, $my_content );
    foreach ($kugirare_parts as $index => $kugirare_part) {
    if ( trim( $kugirare_part )&& $index!=0) {
    $kugirare_parts[$index] = $my_kugiri.$kugirare_parts[$index];
    }
    if ( $my_ikutume == $index ) {
    $kugirare_parts[$index] = $my_insert.$kugirare_parts[$index];
    }
    }
    return implode( ”, $kugirare_parts );
    }

    /*****2番目の見出しタグの直前にアドセンスを埋め込むコードの終わり********/

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    PHPもWordPress専用のタグにもまだ博識で
    まずは自分で調べなければいけないことはWeb関連に関わるものとして重々承知ですが
    緊急でこの処理をしなければいけない状況になりご質問をさせていただきました。

    ぜひ皆さんのお力添えを頂けたらと思います。
    どうか宜しくお願い致します。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • モデレーター hide

    (@hideokamoto)

    get_the_author_metaで投稿者の情報を取得してif分岐させてみてはいかがでしょうか?

    ループの中であれば、
    get_the_author_meta('roles');
    で権限を取得できるはずです。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「WordPressの記事内におけるgoogleアドのチャネルを投稿者別に分岐する」には新たに返信することはできません。