我试图通过基于请求的条件运行Javascript文件,(也就是以前的URL)当前页面被访问。例如,如果用户将重定向到登录页面,然后登录,然后将返回到前一个页面,这将触发JavaScript(而仅仅访问页面不会)。WordPress或PHP有检查请求源的方法吗?
更新:
哇,我们已经走到一半了! 根据user1091949的建议,我继续并添加了基于cookie: 运行JavaScript文件的代码。if ( !isset( $_COOKIE['mmmcookies'] ) ) {
setcookie( 'mmmcookies', 1, 5 );
}
function media_kit_script() {
$page_id = get_queried_object_id();
if ( isset( $_COOKIE['mmmcookies'] ) ) {
if ($page_id === 1947) {
wp_enqueue_script( 'media-kit-init' );
}
}
}
add_action( 'wp_enqueue_scripts', 'media_kit_script' );
脚本在前面的函数中注册,一切正常!现在,这是我的下一个问题:我需要基于用户来自登录的事实来实现setcookie()
,即:
if ( user_came_from_login() ) {
if ( !isset( $_COOKIE['mmmcookies'] ) ) {
setcookie( 'mmmcookies', 1, 5 );
}
以此类推。我该怎么做呢?
你可以使用cookie。起始页:
if (!isset($_COOKIE['iwashere'])) {
setcookie('iwashere', 1, time()+315360000);
}
如果用户来自上面的页面,则需要使用Javascript的页面:
if (isset($_COOKIE['iwashere'])) {
echo '<script src="someJavascript.js"></script>';
}
当然,您可能需要更改cookie的过期时间
这将是引用(这不是很可靠):
$_SERVER['HTTP_REFERER'];
Wordpress有自己的版本:
wp_get_referer()
内部访问$_REQUEST['_wp_http_referer'])
的