Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.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
Vb.net 通过XML-RPC为WordPress帖子设置特色图片_Vb.net_Wordpress_Xml Rpc - Fatal编程技术网

Vb.net 通过XML-RPC为WordPress帖子设置特色图片

Vb.net 通过XML-RPC为WordPress帖子设置特色图片,vb.net,wordpress,xml-rpc,Vb.net,Wordpress,Xml Rpc,大约6个月前,WordPressAPI进行了更新,允许设置帖子的缩略图(或特色图片) 我正在尝试使用它,但它对我不起作用。我想知道我可能做错了什么。我正在调用XML-RPC newPost方法来创建一篇文章,并传递媒体库中现有资产的媒体ID(在媒体库中称为附件ID)。正在创建新文章,并设置除特色图像之外的所有其他属性 我验证了我的wordpress api版本,在class-wp-xmlrpc-server.php中,我在new post function部分看到了注释: “*post_缩略图

大约6个月前,WordPressAPI进行了更新,允许设置帖子的缩略图(或特色图片)

我正在尝试使用它,但它对我不起作用。我想知道我可能做错了什么。我正在调用XML-RPC newPost方法来创建一篇文章,并传递媒体库中现有资产的媒体ID(在媒体库中称为附件ID)。正在创建新文章,并设置除特色图像之外的所有其他属性

我验证了我的wordpress api版本,在class-wp-xmlrpc-server.php中,我在new post function部分看到了注释: “*post_缩略图-用作post缩略图/特色图像的媒体项目的ID”


所有其他属性都在工作。我可以通过XML-RPC向媒体库添加新图像。我可以创建和更新帖子,并设置它们的标签、标题、描述、自定义字段值和类别。当我尝试设置post_缩略图值时,没有收到任何错误。即使我传入一个不存在的媒体id,这似乎很奇怪。

arrg!此WP 3.4版票据具有误导性!


这是“wp_post_缩略图”而不是“post_缩略图”

我试图用我的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
    方法检查结果,该方法将返回post

     get_data = wp.getPost(:post_id => new_post_resp.to_i, :blog_id => 0)
    
您应该参考以下链接。这些都是我在面对同样问题时的发现: