39
44

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.

wordpressのDBに直接接続してコンテンツ更新する方法

Posted at

wordpressの管理画面を使わず、プログラム等でコンテンツを更新したい、もしくは別システムからデータを投稿したい場合に、どのテーブルにどのデータを入れるかを記載。

記事を投稿したい

まず「wp_posts」テーブルにinsert

カラム名
post_author 作者
post_date 投稿時刻(現在時刻)
post_date_gmt 投稿時刻
post_content 本文
post_title タイトル
post_name タイトル
post_modified 投稿時刻(現在時刻)
post_modified_gmt 投稿時刻(現在時刻)のUTC時間
guid 空白

insertすると、idが採番されるので、それ使って、
「wp_posts」テーブルのguidをアップデート

カラム名
guid http://ドメイン名/archives/採番されたid

タグをつけたい

まず「wp_terms」テーブルにinsert

カラム名
name タグ名
slug タグ名をUrl Encodeしたもの
term_group 0

insertすると、term_idが採番されるので、それ使って、
次に「wp_term_taxonomy」テーブルにinsert

カラム名
term_id wp_termsのterm_id
taxonomy 「post_tag」
count 1

さらに「wp_term_relationships」テーブルにinsert

カラム名
object_id wp_postsのid
term_taxonomy_id wp_term_taxonomyのterm_taxonomy_id
term_order 0

カテゴリーをつけたい

カテゴリーの作成自体は未調査。管理画面で作成済みとする。
まず「wp_term_relationships」テーブルにinsert

カラム名
object_id wp_postsのid
term_taxonomy_id カテゴリーID
term_order 0

次にカテゴリーに属する記事数を更新
カテゴリーIDで、「wp_term_taxonomy」を更新

カラム名
count カテゴリーに属する件数

件数は
SELECT count(*) FROM wp_term_relationships WHERE term_taxonomy_id = [term_taxonomy_id]
で算出

管理画面からデータを入れて、登録されたデータを参考にしているので、
細かいところで誤りがあるかもしれないが、上記の方法で特に問題ない感じ。

39
44
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
39
44

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?