snthr
  • 0
Новичок

Скрытие кода Google Analytics в зависимости от параметров темы

  • 0

В данный момент я работаю над темой для WordPress и хочу, чтобы пользователи могли добавлять Google Analytics на свой сайт, просто добавляя свой код отслеживания — вы знаете, UA-20149670-1 числовой тип.

На данный момент у меня есть весь код JavaScript Google Analytics, размещенный на <head> моих страницах, а код отслеживания задается пользователем через форму ввода текста параметра темы.

Однако, если пользователь не добавляет код отслеживания, весь код Google JavaScript по-прежнему остается в файле <head>, без кода отслеживания, что приводит к раздуванию заголовка.

Как я могу закодировать это так, чтобы код Google Analytics появлялся только после того, как пользователь введет свой код отслеживания?

Кроме того, на данный момент код Google Analytics все еще находится в работе header.php — в идеале я хотел бы вместо этого переместить его в functions.php . Как лучше мне это сделать?

Спасибо.

Share
  1. Можем ли мы посмотреть, как выглядит ваш код в настоящее время, только код, который имеет дело с выводом для GA, вам нужно только простое условие IF вокруг кода.

    • 0
  2. Возьмите код GA из заголовка и оберните его функцией, подключенной к wp_head ;

    function __analytics_head()
    {
        $options = get_option( 'themename_theme_options' );
        if ( !empty( $options['analytics'] ) ) :
        ?>
    <script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', '<?php echo esc_js( $options['analytics'] ) ; ?>']);
        _gaq.push(['_trackPageview']);
        (function() {
            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        })();
    </script>
        <?php
        endif;
    }
    add_action( 'wp_head', '__analytics_head', 100 );
    

    Очевидно, что это всего лишь ориентировочный код — способ получения параметров может различаться — но идея состоит в том, чтобы проверить, была ли установлена ​​учетная запись GA, и, если да, приступить к печати сценария.

    • 0
  3. на примечании; код Analytics должен находиться в нижнем колонтитуле…

    • 0

Оставить ответ

You must login to add an answer.