2017-07-01 9 views
0

次のコードのアイデアは、ウェブサイトが開発サイトでない場合にのみアナリティクス用のGoogleコードを表示することです - Wordpressの下で私の子供のテーマ動作しません。ホストがdevlopmentサイトでない場合wp_headerでgoogle analyticsを表示

私の間違いはどこですか?

また
add_action('wp_header', 'add_googleanalytics'); 

function add_googleanalytics() 
{ 
    if ($_SERVER['HTTP_HOST']==="mywebsite.com" || $_SERVER['HTTP_HOST']==="www.mywebsite.com") 
    { 
     if (@$_COOKIE["COOKIENAME"] !== "COOKIEVALUE") 
     {?> 
    <script> 
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
      })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 

      ga('create', 'GOOGLE ID', 'auto'); 
      ga('send', 'pageview'); 
     </script> 
    <?php 
    } 
    } 
} 

、それはおそらく重要です:

私はXAMPPを使用してローカルでの私のウェブサイトをdevの、オンラインアドレスと重複するWPプラグイン「WP-同期-DB-マスター」を介してオンラインのウェブサイトを同期します私のウェブサイトのすべてのローカル変更...

これは、私がローカルウェブサイトに固有のコードを使用できないことを意味します。これは、オンラインウェブサイトに複製されるためです。したがって、コードがオンラインであるかどうかを検出して、Googleアナリティクスをオンまたはオフにする必要があるかどうかを検出する必要があります。

...ご理解いただきますようお願い致します。

+2

なぜGAでフィルタリングしませんか? – Andreas

+0

Theresにはさまざまな理由がありますが、何がうまくいかないかについての詳細な情報を提供していますか、フックが発射されていますか?WP_get_site_url()https:// developerを使用することを検討してください。 wordpress.org/reference/functions/get_site_url/さらにGoogleタグマネージャを使用してURLを作成するルールを実装したGA –

+0

また、更新してもGAでフィルタリングする方が簡単です。 IPをフィルタとして追加するだけです。それをそれ以上に難しくしないでください。 – Andreas

答えて

1

WordPressで実行している環境を区別するための推奨方法は、をブールの値に設定することです。

このようなオプションは次のようにコードを、あなたのルートディレクトリにwp-config.phpファイルに定義することができます

/** 
* For developers: WordPress debugging mode. 
* 
* Change this to true to enable the display of notices during development. 
* It is strongly recommended that plugin and theme developers use WP_DEBUG 
* in their development environments. 
* 
* For information on other constants that can be used for debugging, 
* visit the Codex. 
* 
* @link https://codex.wordpress.org/Debugging_in_WordPress 
*/ 
define('WP_DEBUG', false); 

そして、あなたのアクションフックでは、あなたが条件文を定義することができます。プロダクションモードの場合は、GAスクリプトのみを読み込みます。

if(WP_DEBUG === false) { 
    // Google Analytics goes here. 
} 
+0

重要なメモを追加するために質問を編集するだけですが、解決策を試すことになります。 –

+0

ローカル開発からサーバにコードをプッシュする際に 'wp-config.php'ファイルは無視されます。ライブサーバには、ローカル環境で使用できないと思われる 'wp-config.php'に特定の設定が保存されている可能性があります。 –

+0

@BaliAngeloCogerinoあなたが解決策を見つけたら、この回答に合格とマークすることができます。 –