Php 时间但这是另一个话题,也有其他方法,但它们与你提出的问题无关。我只是指给你们的问题寻找不同的解决方案

Php 时间但这是另一个话题,也有其他方法,但它们与你提出的问题无关。我只是指给你们的问题寻找不同的解决方案,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,然而,你仍然没有回答主要的问题:你为什么需要这个?如果用户可以从您的应用程序访问url,并且您在那里对其进行了保护,则无需避免直接访问同一url 编辑: 既然您已经主要重写了原始问题,并且希望有基于国家/地区的产品,那么您只需在url中包含区域设置,不同地区的产品将具有不同的属性。喜欢我不确定这是否是你要找的 您还可以让您所在的国家保持会话状态,url对于每个人都是相同的 但请再次记住,如果一个URL在美国是可访问的,就没有办法阻止欧洲用户访问它。除非您执行一些ip到国家的映射,您将自动检测客户

然而,你仍然没有回答主要的问题:你为什么需要这个?如果用户可以从您的应用程序访问url,并且您在那里对其进行了保护,则无需避免直接访问同一url

编辑: 既然您已经主要重写了原始问题,并且希望有基于国家/地区的产品,那么您只需在url中包含区域设置,不同地区的产品将具有不同的属性。喜欢我不确定这是否是你要找的

您还可以让您所在的国家保持会话状态,url对于每个人都是相同的



但请再次记住,如果一个URL在美国是可访问的,就没有办法阻止欧洲用户访问它。除非您执行一些ip到国家的映射,您将自动检测客户端的ip,并限制其访问其他区域。同样,使用VPN和代理可以克服这种技术,因此不是100%的工作解决方案。

原因是什么?您可以通过用户身份验证来避免访问受限内容。据我所知,这是不可能的,因为通过单击链接和直接从页面访问链接是相似的。如果您不希望用户访问它,请不要通过请求公开它,而是将其用作库。如果有一个指向它的URL,人们会找到一种使用它的方法。“根本不想让网站看起来像eCommere”好吧,但如果你在卖东西,它本质上就是电子商务。您可以使用
template\u direct
将单个产品重定向到主页,或者在未设置位置cookie/session变量的情况下过滤
内容
以显示某种“受限”消息。但是,我认为最好在单个产品页面上询问用户的发货位置。设置后,您可以显示正确的价格。@helgatheviking这就是问题所在,客户希望流程相同,即首先选择国家。我认为您的location cookie会话变量方法可以工作,但我不知道如何实现它。我想最好的办法是为欧洲所有国家生产产品,因为这比我过去1.5天尝试的其他方法花费的时间要少。有什么办法吗?您可以通过用户身份验证来避免访问受限内容。据我所知,这是不可能的,因为通过单击链接和直接从页面访问链接是相似的。如果您不希望用户访问它,请不要通过请求公开它,而是将其用作库。如果有一个指向它的URL,人们会找到一种使用它的方法。“根本不想让网站看起来像eCommere”好吧,但如果你在卖东西,它本质上就是电子商务。您可以使用
template\u direct
将单个产品重定向到主页,或者在未设置位置cookie/session变量的情况下过滤
内容
以显示某种“受限”消息。但是,我认为最好在单个产品页面上询问用户的发货位置。设置后,您可以显示正确的价格。@helgatheviking这就是问题所在,客户希望流程相同,即首先选择国家。我认为您的location cookie会话变量方法可以工作,但我不知道如何实现它。我想最好的办法是为欧洲所有国家生产产品,因为这比我过去1.5天尝试的其他方法花费的时间要少。不管怎样,谢谢你总是可以欺骗那件事,不推荐你总是可以欺骗那件事,不推荐谢谢你的详细解释。所以我想为所有国家创造产品是唯一的出路。为什么要为所有国家创造产品?您可以保留相同的产品,只需更改国家/地区的装运、税务等详细信息。我如何在主页上从用户那里获取国家/地区,并在单个产品页面上相应地显示价格,然后使用第一步选择的同一国家/地区在结账页面上重新选择国家/地区。我知道这个逻辑很难理解,但是你怎么能对客户说你在$会话中持有国家值,当用户在第一页选择一个国家时,或者如果用户直接在某些国家页面上登陆,你在默认情况下为国家选择一个值,你就定义了$会话。。所以您可以从URL/us/products获取它,或者在会话中存储它,若用户还并没有选择一个国家,那个么您可以为他设置一个默认的国家值。真的没有其他选择。这将是另一个问题,打开它,所以,对于你的问题-我想我回答了,请接受答案,如果你想进一步讨论,打开一个新的问题。你也可以看看这个。。。非常感谢您的详细解释。所以我想为所有国家创造产品是唯一的出路。为什么要为所有国家创造产品?您可以保留相同的产品,只需更改国家/地区的装运、税务等详细信息。我如何在主页上从用户那里获取国家/地区,并在单个产品页面上相应地显示价格,然后使用第一步选择的同一国家/地区在结账页面上重新选择国家/地区。我知道这个逻辑很难理解,但是你怎么能对客户说你在$会话中持有国家值,当用户在第一页选择一个国家时,或者如果用户直接在某些国家页面上登陆,你在默认情况下为国家选择一个值,你就定义了$会话。。所以您可以从URL/us/products获取它,或者在会话中存储它,若用户还并没有选择一个国家,那个么您可以为他设置一个默认的国家值。真的没有其他选择。这将是另一个问题,打开它,所以,对于你的问题-我想我回答了,请接受答案,如果你想进一步讨论,打开一个新的问题。你也可以看看这个。。。如果您想要万无一失的解决方案,您可以阻止任何直接访问p
function check_authorization() {
    if(is_single())
    {
        if($_POST){
            //AUTHORIZE
        }else{
            //UN AUTHORIZE
        }
    }
}
add_action('init', 'check_authorization');
if($_POST['url_link'])
{

  print("Correct url")

}else{
    redirect("Host URL")
}