Php XMLRPC使用wp.deletePost删除Wordpress帖子
我试图用XMLRPC删除wordpress帖子,我创建了一个函数,但它返回了一个奇怪的东西:Php XMLRPC使用wp.deletePost删除Wordpress帖子,php,wordpress,xml-rpc,Php,Wordpress,Xml Rpc,我试图用XMLRPC删除wordpress帖子,我创建了一个函数,但它返回了一个奇怪的东西: function deletePost($rpcurl,$username,$password,$post_id) { // xmlrpc settings $params = array(0,$username,$password,$post_id); // run xmlrpc $request = xmlrpc_encode_request('wp.deletePost', $params);
function deletePost($rpcurl,$username,$password,$post_id)
{
// xmlrpc settings
$params = array(0,$username,$password,$post_id);
// run xmlrpc
$request = xmlrpc_encode_request('wp.deletePost', $params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_URL, $rpcurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
$results = curl_exec($ch);
curl_close($ch);
// testing
var_dump( $results);
return $results;
}
下面是返回的内容(去掉一些xml标记后):
faultCode
-32601
断层串
服务器错误。请求的方法wp.deletePost不存在。
它实际上就是它所说的……在xmlrpc服务器上没有这样的方法,因为wp不允许自己删除帖子。。。但是在xmlrpc中有一个blogger api方法,名为blogger.deletePost。它应该做你想做的。当我查看您的代码时,我认为您只需要修复两件事,将第三行代码更改为
$request = xmlrpc_encode_request('blogger.deletePost', $params);
而且,您的$params应该是一个数组,[1]上的值是post_id,[2]用户名和[3]密码
编辑:它显然是从3.4版开始存在的,因此您可以使用上面的解决方案,或者使用wp.deletePost和[1]用户名、[2]密码和[3]post_id上的值,因为wp不允许自己删除帖子。。。但是在xmlrpc中有一个blogger api方法,名为blogger.deletePost。它应该做你想做的。当我查看您的代码时,我认为您只需要修复两件事,将第三行代码更改为
$request = xmlrpc_encode_request('blogger.deletePost', $params);
而且,您的$params应该是一个数组,[1]上的值是post_id,[2]用户名和[3]密码
编辑:它显然是从3.4版开始存在的,因此您可以使用上面的解决方案,或者使用wp.deletePost和$params,并在[1]用户名、[2]密码和[3]post_id]上加上值。非常感谢,它工作得非常好,如果该方法不存在,为什么要在这里记录它,这是为了“尚未”第四部分:现在很明显是这样的…我查看了一个旧的xmlrpc文件,它还没有这个功能…很抱歉提供了误导性的信息,但是在这种情况下,我不知道为什么你的代码一开始就不能工作…你确定你已经升级到了最新版本(因为它已经在3.4中添加了)?非常感谢,它工作得非常好,如果这个方法不存在,为什么要在这里记录它,这是为了“尚未”部分:D它现在显然已经存在了…我查看了一个旧的xmlrpc文件,它还没有这个功能…很抱歉误导信息,但是在这种情况下,我不知道为什么你的代码一开始就不起作用……你确定你已经升级到最新版本了吗(因为这是在3.4中添加的)?