WordPressの記事をSQLで登録

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

関連記事