web-dev-qa-db-ja.com

MySqlを使用してWordpressに投稿を挿入する

SQLを使用してWordpressに新しい投稿を挿入する方法を知っている人はいますか?

17
Uffo

Postオブジェクトを使用できます。

// Create post object
  $my_post = array();
  $my_post['post_title'] = 'My post';
  $my_post['post_content'] = 'This is my post.';
  $my_post['post_status'] = 'publish';
  $my_post['post_author'] = 1;
  $my_post['post_category'] = array(8,39);

// Insert the post into the database
  wp_insert_post( $my_post );

詳細情報が見つかりました ここ

31
Chuck Conway

あなたの質問は、SQLを使用してWordPressに新しい投稿を挿入する方法を尋ねます。本当にそれをしたいのなら、「wp」データベーステーブルを見て、標準のINSERTを実行してください-これはしません」難しいことはありません。

しかし、私は強くこれを行うことをお勧めします-通常のWP提供のものの外に別の管理ダッシュボードを作成したい場合でも、使用する必要があります コア関数 /APIが提供します。たとえば、 wp_insert_post 関数を使用します。

/wp-load.phpを含めることで、これらの関数を使用/ロードできると思います。

14
philfreo

構造を確認するために「wp_post」テーブルをエクスポートすることから始めました。次に、最初のセクションをコピーして、seccondを記述しました。

1:挿入ステートメントに使用できる変数から始めます($ sql)

$sql = "INSERT INTO `wp_posts` (`ID`, `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 ";

2:挿入したいコンテンツを別のテーブルから取得しましたが、ステートメントの内側または外側で変数を設定するだけで、変数を希望どおりに設定できます-

$sql .= "(' ','".$post_author."',"."'".$post_date."',"."'".$post_date_gmt."',"."'".$post_content."',"."'".$post_title."',"."'".$post_excerpt."',"."'".$post_status."',"."'".$comment_status."',"."'".$ping_status."',"."'".$posd_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."'),";

その後、標準のクエリを使用します。

$res = mysql_query($sql); if($res): print 'Successful Insert'; else: print 'Unable to update table'; endif;
6
Andre D Spencer