大约6个月前,对WordPress API进行了更新,允许设置帖子的缩略图(或精选)图像。
http://www.maxcutler.com/2012/04/04/xml-rpc-in-wordpress-3-4/
我正在尝试使用它,但它不适合我。我想知道我可能做错了什么。我正在调用XML-RPC newPost方法来创建帖子并在媒体库中传递现有资产的媒体ID(在媒体库中称为attachment_id)正在创建新帖子并且所有其他属性都在设置,除了特色图像。
我验证了我的wordpress api版本,果然在class-wp-xmlrpc-server.php中我看到了新帖子功能部分的评论: “* post_thumbnail - 用作帖子缩略图/特色图片的媒体项目的ID”
所有其他属性都有效。我可以通过XML-RPC将新图像添加到媒体库。我可以创建和更新帖子并设置其标签,标题,说明,自定义字段值和类别。当我尝试设置post_thumbnail值时,我没有收到任何错误。即使我传入一个不存在的媒体ID,这似乎很奇怪。
答案 0 :(得分:3)
arrrg!这个WP版本3.4票是误导! http://core.trac.wordpress.org/ticket/20396
它是“wp_post_thumbnail”而不是“post_thumbnail”
答案 1 :(得分:0)
我试图用我的Ruby脚本和使用XML RPC API做同样的事情。
首先初始化并连接到您的wordpress网站:
wp = Rubypress::Client.new( :host => "your host",
:username => "test",
:password => "test",
:path => "yourhost/xmlrpc.php"
)
上传您想要作为精选图片的图片。
wp.uploadFile( :data => { :name => File.basename(FILENAME),
:type => "image/png",
:bits => XMLRPC::Base64.new(File.open(FILENAME).read)
}
)
使用getMediaItem
方法获取附件ID。
attach = wp.getMediaItem(:blog_id => 0, :attachment_id => img_id.to_i)
现在使用newPost
方法
wp.newPost( :blog_id => 0, # 0 unless using WP Multi-Site, then use the blog id
:content => {
:post_status => "draft",
:post_date => Time.now,
:post_content => "This is the body",
:post_title => "test title best!",
:post_name => "test best",
:post_author => 1,
:post_type=>'post',
:post_thumbnail => attach['attachment_id']
:terms_names => {
:category => ['Category One','Category'],
:post_tag => ['Tag One','Tag Two', 'Tag Three']
},
}
)
通过getPost
方法检查结果,该方法会返回帖子
get_data = wp.getPost(:post_id => new_post_resp.to_i, :blog_id => 0)
您应该参考以下链接。当我遇到同样的问题时,这些都是我的发现: