Я захожу в Martech Zone в течение дня, чтобы читать отправленные формы, добавлять и редактировать контент и повышать производительность сайта. Проблема в том, что я не хочу, чтобы это действие искажало мою аналитику или выполняло теги в Диспетчере тегов Google (GTM), например открывало моего чат-бота или определяло местоположение посетителя с помощью службы поиска IP (наш тег чата срабатывает только тогда, когда пользователь находится в Соединенные Штаты).

Узнайте свой логин WordPress с помощью Диспетчера тегов Google

WordPress уже имеет встроенную функциональность для отображения logged-in класс в вашем теге body, который показывает, вошел ли пользователь в систему или нет. Многие люди используют это в Диспетчере тегов Google, чтобы отключить активацию тегов, таких как теги Google Analytics. Процесс работает путем поиска класса CSS, который автоматически добавляется в тег body вашего сайта WordPress, записи результата в переменную, а затем использования триггера для выполнения определенных тегов.

Вот как установить эту переменную и активировать GTM.

  1. Добавить переменную который называется ведением журнала с использованием элемента DOM.
    • Установите метод выбора на CSS Selector
    • Установите селектор элемента на body.logged-in
    • Установите имя атрибута на class
    • Поддерживать
  1. Добавить триггер который использует зарегистрированную переменную. В этом случае триггер должен срабатывать только тогда, когда пользователь НЕ вошел в систему, поэтому вы можете сделать это, создав триггер для незарегистрированного пользователя.
    • Установите тип триггера на DOM ready
    • Установите триггер для некоторых событий готовности DOM
    • Выберите переменную Logged-In и равно null

Активатор диспетчера тегов google wordpress не авторизовался

Вы также можете установить переменную в не то же самое вы вошли в систему и можете использовать триггер как исключение вместо включения. В любом случае используйте этот триггер для выполнения, обычно вместо этого All Pages.

Однако этому есть предел. Что делать, если вы используете сайт WordPress, где вы хотите исключить определенный роль от активации тега? В моем случае у меня есть зарегистрированные участники, которые все еще хотят активировать наше местоположение и триггеры чата. С использованием logged-in методология предотвратит активацию тега для всех зарегистрированных и вошедших в систему пользователей. К сожалению, страницы WordPress не отображают автоматически какие-либо роли в HTML-коде, чтобы вы могли активировать тег. Тем не менее, вы можете добавить его!

ЧИТАТЬ  Ирландские блоги будут принимать гостевые посты в 2024 году – SEO Sandwitch

Добавьте класс body в WordPress с ролью посетителя.

Точно так же, как WordPress автоматически внедряет класс входа в базовый класс, вы можете добавить роль пользователя в базовый класс. В рамках темы вашего ребенка functions.php файл, вы можете добавить следующую функцию:

function add_role_to_body_class( $classes ) {
    if ( is_user_logged_in() ) {
        $current_user = wp_get_current_user();
        $user_role = array_shift($current_user->roles);
        $classes[] = 'role-' . $user_role;
    } else {
        $classes[] = 'role-guest';
    }
    return $classes;
}
add_filter( 'body_class', 'add_role_to_body_class' );

Так что, если вы админ, он будет добавлен <body class="role-administrator" наряду с другими классами, такими как вход в систему и т. д. И если вы не вошли в систему, функция добавляет воображаемый класс role-guest.

Определите роль посетителя WordPress в WordPress с помощью Диспетчера тегов Google

В моем случае я хочу исключить активацию некоторых тегов при входе администратора на сайт. Как и в приведенном выше примере, логин работает для переменной и триггера; теперь я могу сделать это с role-administrator. Вместо указания класса в селекторе элементов я просто передаю все содержимое класса.

  1. Добавить переменную называется Body Class с помощью элемента DOM.
    • Установите метод выбора на CSS Selector
    • Установите селектор элемента на body
    • Установите имя атрибута на class
    • Поддерживать
Захватите класс body в переменной Диспетчера тегов Google.
  1. Добавить триггер который использует Body Class переменная. В этом случае триггер должен срабатывать только тогда, когда пользователь НЕ вошел в систему, поэтому вы можете сделать это, создав Is Administrator курок.
    • Установите тип триггера на DOM ready
    • Установите триггер для некоторых событий готовности DOM
    • Выберите переменную Body Class содержит role-administrator

Диспетчер тегов Google запускает администратора WordPress
  1. Об активации теговдобавить триггер Is Administrator ваши исключения. Это гарантирует, что тег никогда не сработает, когда администратор войдет в систему во время просмотра вашего сайта. У меня есть тег на моем сайте, который определяет, находится ли кто-то в основном домене (не перевод), и этот тег НЕ срабатывает, когда администратор входит в систему.
ЧИТАТЬ  NextStep от Sape – время перейти на следующий уровень построения ссылок
Тег диспетчера тегов Google вызывает исключения

Обновлять: Я обновил эту логику после того, как она была опубликована и отправлена ​​по электронной почте. Захват всего класса тела был гораздо более эффективной переменной, поэтому я мог использовать ее для указания ролей или того, входит ли человек в систему с помощью одной переменной.

Source