13
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

rubypressを使うときにハマったところ(タグとカテゴリの部分)メモ。

Last updated at Posted at 2014-02-17

Rubyを使って、WordPressを操作したい場合、rubypressを使うと便利です。

投稿や記事の取得などの基本的な動作は

rubypressでWordPressの情報をRubyから操作する | mah365

READMEに載っています。

ここでは自分が利用した際にハマったところを記載します。

#rubypressでのタグ/カテゴリの取得

タグやカテゴリはgetTerms() で取得することができます。タグの形式は、XML-RPC WordPress API/Taxonomies « WordPress Codexが詳しいです。

taxonomyの部分でタグかカテゴリか判断しているらしく、タグは、post_tag, カテゴリは categoryという風に区別されています。

rubypressのデフォルトでは、getTerms()を使用すると、カテゴリだけを取得するようになっているので、optionsで指定する必要があります。

#rubypressでタグ/カテゴリを付けて投稿する場合

タグとカテゴリを付けて投稿する場合、term_idという一意のidを指定してから投稿します。 (参考: http://blog.include-soft.com/215) その際、カテゴリとタグを区別する場合はその指定をします。タグ/カテゴリの指定をするときは、Arrayの形で渡すことにします。

わかりにくいと思うので、コードを貼り付けておきます。

wp = Rubypress::Client.new(
 host: "WordPressのURL",
 username: "ユーザ名",
 password: "パスワード"
 )

wp.newPost(
	blog_id: "ブログのID",
	content:{
	 post_status: 'publish', #=> publish: 公開, draft: 下書き
	 post_date: Time.now,
	 post_content: '記事の内容',
	 post_title: '記事のタイトル',
	 terms: {
	 category: 'カテゴリで指定するterm_id', #=>[2,3...]のような感じで指定する
	 post_tag: 'タグで指定するterm_id', #=> [1,4...]のような感じで指定する
	 }
	}
)

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?