Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php XMLRPC使用wp.deletePost删除Wordpress帖子_Php_Wordpress_Xml Rpc - Fatal编程技术网

Php XMLRPC使用wp.deletePost删除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);

我试图用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);
$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中添加的)?