Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

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]
で算出

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away