如何在wordpress functions.php中的google adsense javascript中插入作者meta

时间:2016-06-24 21:16:54

标签: javascript php wordpress

我正在尝试在functions.php中为wordpress插入作者元,即Google adsense发布商ID和Adunit广告位号。我使用的代码将此metas显示为文本,例如xxxxxxxxxxxxxxxxxxx,即网页上同一行中的ID和插槽编号,并且不显示google adsense脚本/广告单元。

CODE

    //RECTANGLE Adsense UNit
function get_rectangle() {
    global $post; $author_id=$post->post_author;

            if(is_single()) { 

$rec_Ad.= '<div>';
            $rec_Ad.= '<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
            <!-- 300x250 -->
            <ins class="adsbygoogle"
                 style="display:inline-block;width:300px;height:250px"';

    if (get_the_author_meta('rectangle', $author_id)) { 

                 $rec_Ad.= 'data-ad-client="ca-pub-'.the_author_meta('pub-id', $author_id).'"';
                 $rec_Ad.= 'data-ad-slot="'.the_author_meta('rectangle', $author_id).'"></ins>';

                 } else {

                 $rec_Ad.= 'data-ad-client="ca-pub-xxxxxxxxxxxxxxx"';
                 $rec_Ad.= 'data-ad-slot="xxxxxxxxxxxxxxxxxx"></ins>';
            }

            $rec_Ad.= '<script>
            (adsbygoogle = window.adsbygoogle || []).push({});
            </script></div>';
   } 

    return $rec_Ad;
}

主要焦点

$rec_Ad.= 'data-ad-client="ca-pub-'.the_author_meta('pub-id', $author_id).'"';
$rec_Ad.= 'data-ad-slot="'.the_author_meta('rectangle', $author_id).'"></ins>';

代码应显示在single.php page中,作者的广告单元(如果存在)则显示默认广告单元。

1 个答案:

答案 0 :(得分:0)

该解决方案可在以下链接中找到。 How Can I return adsense code from a function in wordpress 归功于@Quack。

更改

$rec_Ad.= 'data-ad-client="ca-pub-'.the_author_meta('pub-id', $author_id).'"';
                 $rec_Ad.= 'data-ad-slot="'.the_author_meta('rectangle', $author_id).'"></ins>';

$rec_Ad .= 'data-ad-client="ca-pub-'. get_the_author_meta('pub-id', $author_id) .'"';
        $rec_Ad .= 'data-ad-slot="'. get_the_author_meta('rectangle', $author_id) .'"></ins>';
    }

USE get_the_author_meta NOT the_author_meta