Google tag managerの解析コードを追加するスニペットです。
wordrpressにログインしている時はコードを出力しません。管理者がログインしている時の動きを記録されたくないためです。ユーザーがログインするタイプのサイトではroleの判定を追加した方が良いでしょう。
全てのユーザーログイン時にコードを出力しない
<?php
add_action('wp_head',function(){
$GTM = "GTM-XXXXXXX";
if ( ! is_user_logged_in() ) {
?>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','<?php echo $GTM;?>');</script>
<!-- End Google Tag Manager -->
<?php
}
});
add_action('wp_body_open',function(){
$GTM = "GTM-XXXXXXX";
if ( ! is_user_logged_in() ) {
?>
<span id="gtag_load"></span>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=<?php echo $GTM;?>"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<?php
}
});
管理者ログイン時にコードを出力しない
<?php
add_action('wp_head',function(){
$GTM = "GTM-XXXXXXX";
if ( ! current_user_can('administrator') ) {
?>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','<?php echo $GTM;?>');</script>
<!-- End Google Tag Manager -->
<?php
}
});
add_action('wp_body_open',function(){
$GTM = "GTM-XXXXXXX";
if ( ! current_user_can('administrator') ) {
?>
<span id="gtag_load"></span>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=<?php echo $GTM;?>"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<?php
}
});
If the current user is an administrator or editor
How can I check to see if the current logged-in user is an administrator or an editor? I know how to do each individuall...