Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Wordpress重新加载帖子/页面如果!_user_是否已登录(以及#锚不在URL中)_Javascript_Php_Wordpress_Anchor - Fatal编程技术网

Javascript Wordpress重新加载帖子/页面如果!_user_是否已登录(以及#锚不在URL中)

Javascript Wordpress重新加载帖子/页面如果!_user_是否已登录(以及#锚不在URL中),javascript,php,wordpress,anchor,Javascript,Php,Wordpress,Anchor,有一个我想在加载时进行测试的CPT。(因此,在单个cpt.php中工作。) 基本上,您希望加载(或重新加载?)包含#锚的页面,如果用户未登录,将显示调用操作覆盖。因此: if (! is_user_logged_in() ) { header('Location: #anchor'); } 但也要检查URL中是否已经有锚定page#anchor。无论是从直接链接还是从上面都是用户登录的。(这也将防止上述代码无限次地尝试重新加载该页面,因为用户仍然没有登录。) 我发现了一些东西,但也遇到了

有一个我想在加载时进行测试的CPT。(因此,在单个cpt.php中工作。)

基本上,您希望加载(或重新加载?)包含#锚的页面,如果用户未登录,将显示调用操作覆盖。因此:

if (! is_user_logged_in() ) {
   header('Location: #anchor');
}
但也要检查URL中是否已经有锚定
page#anchor
。无论是从直接链接还是从上面都是用户登录的。(这也将防止上述代码无限次地尝试重新加载该页面,因为用户仍然没有登录。)

我发现了一些东西,但也遇到了一些注释(大多数都有几年了,所以不知道是否仍然是当前状态),PHP不太擅长检测客户端上存在的锚。我试过以下几件事

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (strpos($url,'#anchor') == true) {
}

那么,运行这两个测试的最佳方法是什么?特别是如果一个必须在PHP中完成,另一个必须在。。。javascript??测试的顺序是否重要,因为这两个条件都为真(用户未登录,页面尚未显示锚定)会导致页面重新加载带有#锚定URL的页面。否则,锚定已经导致覆盖显示,或者用户登录并只看到一个正常页面

您考虑过使用查询字符串参数吗?我支持查询字符串建议。这不是url片段(#)的用途。url中的散列(#)用于标识文档中的特定位置,而不是将信息传递给服务器。这就是查询参数的用途。谢谢你们。不,我没有考虑使用查询字符串,因为a)只是看看这个(但现在我知道PHP不适合查看URL)和B)我正在处理内置于主题中的东西。但是,你今天的评论和新鲜的眼光让我看完了主题的源代码。找到它们重叠的地方称为。现在,我将直接调用覆盖,而不是测试锚定(这会告诉我覆盖是活动的)。一步到位,这样更干净。