3

約6か月前に、投稿のサムネイル(または注目の)画像を設定できるWordPressAPIのアップデートがありました。

http://www.maxcutler.com/2012/04/04/xml-rpc-in-wordpress-3-4/

私はそれを使おうとしていますが、うまくいきません。何が間違っているのか知りたいのですが。XML-RPC newPostメソッドを呼び出して投稿を作成し、メディアライブラリ内の既存のアセットのメディアID(メディアライブラリではattachment_idと呼ばれます)を渡します。新しい投稿が作成され、他のすべてのプロパティが作成されます。注目の画像を除いて、セット。

私は自分のバージョンのwordpressapiを確認し、class-wp-xmlrpc-server.phpで十分に確認しました。新しい投稿機能セクションにコメントが表示されます:"*post_thumbnail-投稿サムネイルとして使用するメディアアイテムのID/特集画像"

他のすべてのプロパティは機能しています。XML-RPCを介してメディアライブラリに新しい画像を追加できます。投稿を作成および更新し、それらのタグ、タイトル、説明、カスタムフィールド値、およびカテゴリを設定できます。post_thumbnail値を設定しようとしても、エラーは発生しません。存在しないメディアIDを渡しても、奇妙に思えます。

4

2 に答える 2

3

arrrg!このWPバージョン3.4チケットは誤解を招く恐れがあります! http://core.trac.wordpress.org/ticket/20396

「post_thumbnail」ではなく「wp_post_thumbnail」です

于 2012-09-10T16:50:19.233 に答える
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)
    

以下のリンクを参照してください。これらはすべて、同じ問題に直面していたときの私の調査結果です。

于 2015-05-21T07:19:53.760 に答える