ページコンテンツ
WordPressの記事をSQLで登録
WordPressの記事をバッチで定時に動的に作成できないかを検討しています。WordPressもMySQLでデータ管理をしているので、テーブル構成、ER構成を理解していれば、SQL操作にて記事登録もできると思い、WordPressの記事をSQLで登録する方法を調べてみました。
固定ページ作成時のデータ登録対象テーブル
固定ページを作成すると下記テーブルにデータが登録されます。
- wp【サイト名】postmeta
- wp【サイト名】posts
確認方法
固定ページの作成前後の下記SQLを実行して、テーブルのレコード数を確認して、データが登録されるテーブルを確認しました。
select 'wp【サイト名】_commentmeta'as tableNm,count(*)from wp【サイト名】_commentmeta
union
select 'wp【サイト名】_comments'as tableNm,count(*)from wp【サイト名】_comments
union
select 'wp【サイト名】_links'as tableNm,count(*)from wp【サイト名】_links
union
select 'wp【サイト名】_options'as tableNm,count(*)from wp【サイト名】_options
union
select 'wp【サイト名】_postmeta'as tableNm,count(*)from wp【サイト名】_postmeta
union
select 'wp【サイト名】_posts'as tableNm,count(*)from wp【サイト名】_posts
union
select 'wp【サイト名】_term_relationships'as tableNm,count(*)from wp【サイト名】_term_relationships
union
select 'wp【サイト名】_term_taxonomy'as tableNm,count(*)from wp【サイト名】_term_taxonomy
union
select 'wp【サイト名】_termmeta'as tableNm,count(*)from wp【サイト名】_termmeta
union
select 'wp【サイト名】_terms'as tableNm,count(*)from wp【サイト名】_terms
union
select 'wp【サイト名】_usermeta'as tableNm,count(*)from wp【サイト名】_usermeta
union
select 'wp【サイト名】_users'as tableNm,count(*)from wp【サイト名】_users
固定ページ登録のサンプルSQL
INSERT INTO wp【サイト名】_posts
(
post_author
,post_date
,post_date_gmt
,post_content
,post_title
,post_excerpt
,post_status
,comment_status
,ping_status
,post_password
,post_name
,to_ping
,pinged
,post_modified
,post_modified_gmt
,post_content_filtered
,post_parent
,guid
,menu_order
,post_type
,post_mime_type
,comment_count
)
values
(
'1'
,CURRENT_TIMESTAMP()
,CURRENT_TIMESTAMP()
,'<p>作成中<p>'
,'固定ページ1'
,''
,'publish'
,'close'
,'close'
,''
,'testpost_name_page_10'
,''
,''
,CURRENT_TIMESTAMP()
,CURRENT_TIMESTAMP()
,''
,55
,'https://www.affiliate.se-lab.yokohama/'
,0
,'page'
,''
,0
)
;
投稿作成時のデータ登録対象テーブル
投稿を作成すると下記テーブルにデータが登録されます。
- wp【サイト名】postmeta
- wp【サイト名】posts
投稿記事登録のサンプルSQL
INSERT INTO wp【サイト名】_posts
(
post_author
,post_date
,post_date_gmt
,post_content
,post_title
,post_excerpt
,post_status
,comment_status
,ping_status
,post_password
,post_name
,to_ping
,pinged
,post_modified
,post_modified_gmt
,post_content_filtered
,post_parent
,guid
,menu_order
,post_type
,post_mime_type
,comment_count
)
values
(
'1'
,'2020-05-03'
,'2020-05-03'
,'<p>作成中<p>'
,'投稿ページ3'
,''
,'publish'
,'close'
,'close'
,''
,'testpost_name_post_3'
,''
,''
,CURRENT_TIMESTAMP()
,CURRENT_TIMESTAMP()
,''
,0
,'https://www.affiliate.se-lab.yokohama/'
,0
,'post'
,''
,0
)
;
画像登録時のデータ登録対象テーブル
画像を登録すると下記テーブルにデータが登録されます。
- wp【サイト名】postmeta
- wp【サイト名】posts