创建一个"隐藏"来自WordPress插件的页面

时间:2016-05-24 09:38:09

标签: php wordpress

我正在开发一个插件,我需要向订阅者发送激活链接。

现在我陷入了创建激活链接的困境。我想要www.page.com/newsletter/activate?key=xxxx&hash=xxx

之类的东西

但如何在不添加内容页面的情况下创建自己的slug?此页面不应该有任何输出。激活后,脚本只需重定向到确认页面。此确认页面不应该是真实的"内容页面也应该输出一个小文本。如何从插件中执行此操作?

2 个答案:

答案 0 :(得分:2)

您可以使用WordPress的操作。在这种情况下,您可以像这样处理链接:

add_action('init', 'check_newsletter_link');
function check_newsletter_link(){
    if (preg_match('/newsletter\/activate/', $_SERVER['REQUEST_URI']) && isset($_GET['key'], $_GET['hash'])){
        $key = $_GET['key'];
        $hash = $_GET['hash'];
        //Your code goes here
    }
}

您可以在那里编写PHP代码。 WordPress动作是一种魔力:)

答案 1 :(得分:1)

你将不得不在Wordpress中研究重写规则,以解决这个“漂亮”的问题。方式。

我不喜欢这款名为WP Router的插件,但它为您提供了所需的功能:https://github.com/jbrinley/WP-Router

如果您不想使用该插件,请在插件中构建自己的重写规则:

采取的步骤:

  1. 注册重写规则
  2. 添加查询变量(您的密钥= xxx和hash = xxx),以便Wordpress识别它们
  3. 使用名为' parse_request'的动作拦截Wordpress查询,查看是否已检测到您的重写规则并触发您自己的功能。
相关问题