我有这样的代码。
<?php
include('IXR_Library.php');
$client = new IXR_Client('http://127.0.0.1/wordpress/xmlrpc.php');
$data = array(
'comment_post_ID' => 1,
'comment_author' => 'test_author',
'comment_author_email' => 'test@gmail.com',
'comment_author_url' => 'http://test.limewebs.com',
'comment_content' => 'Test Content',
'comment_type' => '',
'comment_parent' => 0,
'user_id' => 1,
'comment_author_IP' => '127.0.0.1',
'comment_agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)',
'comment_date' => $time,
'comment_approved' => 1,
);
if (!$client->query('wp.newComment','', 'username','password','12',$data)) {
die('An error occurred - '.$client->getErrorCode().":".$client->getErrorMessage());
}
$result = $client->wp_insert_comment($data);
print_r($result);
?>
在上面的代码中,我将我的评论发布到WordPress网站,但内容(comment_content)未发布。
答案 0 :(得分:1)
Dude,删除所有'comment_'前缀到您的数组属性。写作the WpAPI Class我深深挖掘了WP的XMLRPC的核心。参数永远不会按正常人放置的顺序排列。使用的名称也不一致。这不是一个猜谜游戏。当不确定时,请始终查看WP核心代码... [或使用我的班级;)]
答案 1 :(得分:0)
您在请求中使用了无效参数。 Wordpress XML-RPC_wp documentation列出以下参数对wp.newComment请求有效:
Parameters
int blog_id
string username
string password
int post_id
struct comment
int comment_parent
string content
string author
string author_url
string author_email
以下代码应足以通过xmlrpc在wordpress 3.3.5(XML-RPC_wp api v3.1)上发布新评论:
<?
include('IXR_Library.php.inc');
$client = new IXR_Client('http://myblog.com/xmlrpc.php');
$time = date("Ymd")."T".date("H:i:s")."Z";
$post_id = "630";
$data = array(
'author' => 'test_author',
'author_email' => 'test_comment@scroogle.org',
'author_url' => 'http://www.scroogle.org',
'content' => 'Comentario Teste <a href="http://www.scroogle.org">scroogle.org</a>',
'date' => $time,
'approved' => 1,
);
if (!$client->query('wp.newComment','', '','',$post_id, $data)) {
die('An error occurred - '.$client->getErrorCode().":".$client->getErrorMessage());
}
$result = $client->wp_insert_comment($data);
print_r($result);
?>
注意:要通过xmlrpc发布匿名评论,您需要使用WordPress - Anonymous XMLRPC Comments Plugin