Php 如何将数据发布到wordpress插件?
我想创建一个wordpress插件,它可以捕获来自外部对某个URL的POST/GET请求,这样我就可以将外部PHP代码发布数据到wordpress插件,然后该插件可以在内部进一步处理这些数据 我不想从外部创建博客文章或页面,我知道存在XML-RPC接口。我说的是将数据从外部发布到wordpress,然后在插件中进一步处理Php 如何将数据发布到wordpress插件?,php,wordpress,Php,Wordpress,我想创建一个wordpress插件,它可以捕获来自外部对某个URL的POST/GET请求,这样我就可以将外部PHP代码发布数据到wordpress插件,然后该插件可以在内部进一步处理这些数据 我不想从外部创建博客文章或页面,我知道存在XML-RPC接口。我说的是将数据从外部发布到wordpress,然后在插件中进一步处理 我想我也可以直接连接到wpdb,但这可能不是一个非常干净的解决方案,如果我升级WP,它可能会崩溃 正如您已经知道的WordPress XMRPC:您的插件可以为XMLRPC注册
我想我也可以直接连接到wpdb,但这可能不是一个非常干净的解决方案,如果我升级WP,它可能会崩溃 正如您已经知道的WordPress XMRPC:您的插件可以为XMLRPC注册自己的函数来侦听请求。您可以向XMLRPC端点发送POST请求,然后将触发插件函数 下面的代码示例是一个简单的插件类,它将函数注册到XMLRPC端点
my.recieve
。它显示回调函数如何注册到该字符串:
/**
* XML RPC Plugin
*/
return RecievePostPlugin::bootstrap();
class RecievePostPlugin
{
private static $instance;
public static function bootstrap()
{
if (null === $this->instance)
$this->instance = new __CLASS__;
return $this->instance;
}
public function __construct()
{
add_filter('xmlrpc_methods', array($this, 'addXMLRPCActions'));
}
public function addXMLRPCActions(array $methods)
{
$methods['my.recieve'] = array($this, 'recieveXMLRPCAction');
return $methods;
}
public function recieveXMLRPCAction(array $arguments)
{
// your code here, POST can be accessed via $_POST
}
}
如果您不喜欢XMLRPC开销,您只需在插件中创建一个PHP文件并请求它。然后,您需要小心地加载所有可能要使用的WP函数(例如,数据库访问等)。您可以创建一个重写规则,将一些漂亮的URL重定向到插件目录中的文件。该文件将包含$u POST数据。从描述WP_重写:
function feed_dir_rewrite( $wp_rewrite ) {
$feed_rules = array(
'index.rdf' => 'index.php?feed=rdf',
'index.xml' => 'index.php?feed=rss2',
'(.+).xml' => 'index.php?feed=' . $wp_rewrite->preg_index(1)
);
$wp_rewrite->rules = $feed_rules + $wp_rewrite->rules;
}
// Hook in.
add_filter( 'generate_rewrite_rules', 'feed_dir_rewrite' );
你是什么意思?抓住邮件/获取请求?$\u POST/$\u GET不是吗?