googleアナリティクスをfunction.phpより呼び出す方法

この記事は約2分で読めます。
スポンサーリンク

マニアックは何でもやります。
Google Analiticsさえもfunction.phpで呼び出したくなります。

function.phpでwp_head関数中で呼び出したくなりよね?

しかし、通常の呼び出し方法では、現在のwordpressにはasyncがjavasciriptの記述で出力されません。
そこで、次の方法で書いてあげます。
置換をしてしまいます。

add_action('wp_enqueue_scripts', function() {
    wp_enqueue_script('analitics', 'https://www.googletagmanager.com/gtag/js?id=UA-xxxxxxx', array(), null);
    $js = <<< EOM
            window.dataLayer = window.dataLayer || [];
            function gtag() {
                dataLayer.push(arguments);
            }
            gtag('js', new Date());
            gtag('config', 'UA-xxxxxx');
EOM;
    wp_add_inline_script('analitics', $js, 'after');
});

add_filter('script_loader_tag', function($tag, $handle) {
    if ('analitics' !== $handle) {
        return $tag;
    }
    return str_replace(' src', ' async="async" src', $tag);
}, 10, 2 );

こうすることでanaliticsという名前が与えられたものにのみasyncに置換するという記述になります。
これでヘッダー部分にfunction.phpを通して出力できるわけですね。

コメント

タイトルとURLをコピーしました