我正在使用以下两个函数将引用者信息存储在插入表单电子邮件正文的变量中。我需要将第一个引用网站或URL存储在一个变量中,将普通引用URL存储在另一个变量中。基本上我需要获得引用访问者的第一页或搜索引擎,然后在访问联系表单之前将最后一页存储在他们访问过的网站上。第二部分使用获取HTTP_REFERRER的第一个函数。但我的函数(函数getFirstPage)获取原始引用者只是在变量中向我发送联系页面URL。
function getRefererPage( $form_tag )
{
if ( $form_tag['name'] == 'referer-page' ) {
$form_tag['values'][] = $_SERVER['HTTP_REFERER'];
}
return $form_tag;
}
function getFirstPage( $form_tag )
{
session_start();
if (!isset($_SESSION["origURL"]))
$_SESSION["origURL"] = $_SERVER["HTTP_REFERER"];
if ( $form_tag['name'] == 'first-page' ) {
$form_tag['values'][] = $_SESSION["origURL"];
}
return $form_tag;
}
if ( !is_admin() ) {
add_filter( 'wpcf7_form_tag', 'getRefererPage' );
}
if ( !is_admin() ) {
add_filter( 'wpcf7_form_tag', 'getFirstPage' );
}
我可以更改什么才能将原始引荐来源转换为我的函数getFirstPage?
答案 0 :(得分:0)
您可以将此代码放在所有页面中(或者包含在所有其他页面中的PHP文件中。如果使用框架或CMS,您可以将它放在index.php中)。此代码将在20分钟不活动后首次保存ref页面。几乎在任何人打开你的网站的时候。
if (isset($_COOKIE['firstPageRef'])){
setcookie('firstPageRef', $_COOKIE['firstPageRef'], time() + 1200); // Extend for an other 20Min
}else{
setcookie('firstPageRef', $_SERVER['HTTP_REFERER'], time() + 1200); // Save ref page for first time
}
然后使用此代码,您可以找出哪些网站将用户重定向到您的网站: 在需要时拨打电话:
function GetFirstRef(){
if (isset($_COOKIE['firstPageRef'])
return $_COOKIE['firstPageRef'];
return false;
}