【问题标题】:Set conditional on template based on a refering page根据参考页面在模板上设置条件
【发布时间】:2016-01-28 09:53:48
【问题描述】:

我正在尝试在 wordpres 中创建一个条件模板,其中仅当引用页面是搜索页面时才应传递条件:

我知道 url_to_postid(wp_get_referer()) 会给我参考页面的页面 id,但在我的情况下,这不起作用,因为搜索页面没有 id。有没有其他方法可以做到这一点?

编辑:搜索的 wordpress url 将是 http://mywebsite.com/?s=aaa 搜索词在哪里

【问题讨论】:

  • 最好是通过 URL 传递一个值

标签: php wordpress http-referer


【解决方案1】:

根据您使用它的目的以及它需要的可靠性,您可以使用$_SERVER['HTTP_REFERER']

取自PHP Manual

将用户代理指向当前页面的页面地址(如果有)。这是由用户代理设置的。不是所有的用户代理都会设置这个,有些提供修改 HTTP_REFERER 作为一个特性的能力。简而言之,它不能真正被信任。

您最好使用 post/get 将参数发送到下一页,或者如果您需要更高的可靠性和/或控制,则使用会话。

【讨论】:

  • wp_get_referrer() 只是HTTP_REFERER 的包装,它们的工作完全相同。正如你所指出的,它完全不可靠,真的是米老鼠功能;-)
  • 同意,需要更多关于结构/流程的信息才能提供任何可靠的信息。在旁注中,为什么 wordpress 会为 fn 创建一个包装器,为什么不直接使用 HTTP_REFERER,这对我来说似乎很疯狂
  • @atoms 添加了 url 的结构
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-09
  • 1970-01-01
  • 2019-07-31
  • 2022-10-08
  • 1970-01-01
  • 2018-02-02
相关资源
最近更新 更多