向WordPress发送GET请求

时间:2018-09-05 作者:Amirition

我希望有这样一个url:

http://example.com?user_id=23&entry_id=34$nonce=4j54hgc465
当用户单击此链接时,我想对这些信息执行一些操作,例如更新用户或发布并向用户显示消息。我该怎么做?我应该一起去吗HTTP APIREST API 还是其他更简单的解决方案?

More information about what i\'m gonna do: 我想发送一封带有用户链接的电子邮件。此链接可以如下所示:http://example.com?user_id=23&entry_id=34$nonce=4J54HGC465当用户收到此电子邮件并单击此链接时,我想用id=entry_id 具有user_id 已创建。这可能吗?

1 个回复
最合适的回答,由SO网友:WebElaine 整理而成

一种选择是创建一个专用于处理这些GET请求的页面。类似于http://example.com/create/?yourquerystringhere`.

然后,您可以创建一个页面模板page-create.php 自动应用于该页面,或从下拉列表中手动应用的自定义模板。该页面模板可以包含自定义代码:

<?php
// if any variables are missing, redirect to homepage
if(empty($_GET[\'user_id\']) || empty($_GET[\'entry_id\']) || empty($_GET[\'nonce\'])) {
    wp_redirect();
// otherwise, process the request
} else {
    // add your code here to make sure user_id, entry_id, and nonce are valid
    // if they\'re valid, publish the post - you can then display a success
    // message, or redirect to the newly published post
    // you should also check whether entry_id is already published
    // and if so, auto redirect to that rather than re-publishing
}
?>
这样,您只需创建一个页面模板(如果您还没有子主题或自定义主题,则创建一个子主题)和一个页面来处理所有处理。

另一种选择是在子主题的front-page.php 因此,您根本不必创建页面,如果GET vars为空或无效,则继续显示主页上通常显示的内容,否则按上述过程处理。

结束

相关推荐

How deactivate the http-api

为它提供一个tipp或解决方案来停用WP\\U Http\\U Streams类中的方法request()?我也在脱机服务器上使用WordPress,并让wp\\U debug true用于开发和测试。但是我从函数中得到了很多关于使用http类的警告;例如,在仪表板中读取提要的函数。目前我已经停用了更新主题、插件、核心和cron的所有挂钩;请参阅我的小插件:https://github.com/bueltge/WP-Offline谢谢你的回复