Описание проблемы
На основе этого ответа Я создал настраиваемую страницу PHP для WordPress.Страница выполняет следующие действия: когда я перехожу на www.mysite.com/wp/GoTo/?URL=http://www.google.com
, браузер перенаправляет на www.google.com
.
Проблема в том, что я хотел бы использовать Google Analytics для регистрации доступа к странице, особенно когдапользователь получает доступ к ссылке, подобной следующей www.mysite.com/wp/GoTo/?URL=http://www.google.com&utm_campaign=MyChampaign
.
Другими словами, у меня есть страница перенаправления PHP
<?php
/*
Template Name: GoToPage
*/
/**
*
* @package MyTheme
*/
$url = $_GET["URL"];
// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);
if (filter_var($url, FILTER_VALIDATE_URL)) {
header("location: " . $url);
exit;
} else {
echo("$url is not a valid URL");
}
?>
И мне нужно вставить фрагмент Google Analytics.
1-я попытка
Это не работает.Я думаю, что проблема в том, что для перенаправления я должен вывести ТОЛЬКО заголовок и ничего больше.
<?php
/*
Template Name: GoToPage
*/
/**
* The template for displaying all pages.
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages
* and that other 'pages' on your WordPress site will use a
* different template.
*
* @package MyTheme
*/
$url = $_GET["URL"];
// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);
if (filter_var($url, FILTER_VALIDATE_URL)) {
<script type="text/javascript" >
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-11111111-0', 'auto');
ga('send', 'pageview');
</script>
header("location: " . $url);
exit;
} else {
echo("$url is not a valid URL");
}
?>
2ns попытка
На основе this и this ответы Я пытался преобразовать код на стороне клиента из HTML в код JavaScript.Это дает мне ошибку 404 за каждую сделанную мною попытку.
<?php
/*
Template Name: GoToPage
*/
/**
* The template for displaying all pages.
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages
* and that other 'pages' on your WordPress site will use a
* different template.
*
* @package MyTheme
*/
$url = $_GET["URL"];
// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);
if (filter_var($url, FILTER_VALIDATE_URL)) {
echo """
<head>
<script type="text/javascript" >
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-11111111-0', 'auto');
// Plugins
ga('send', 'pageview');
</script>
</head>
<body onload="onWindowLoad()">
<script>
window.location.replace(".$url.");
</script>
<p>If the page does not automatically redirect please click on<a href=".$url.">this link</a>.</p>
</body>
""";
exit;
} else {
echo("$url is not a valid URL");
}
?>
Есть идеи о том, как включить фрагмент GA в мою пользовательскую страницу перенаправления PHP?