• 【WordPress】自作PHPでカスタム投稿タイプに自動投稿する

カスタム投稿タイプに投稿する

現在、そんなプラグインを作成中です。

何気に一瞬でサンプルが出来たので、ソースコードを共有したいなと思います。

ファイルの置き場所はどこでも良いと思います。

 

 

 

私の場合はプラグインを作成中なので、例えば、

http://www.hogehoge.com/wp/wp-content/plugins/name/test.php

こんなところに置いています。

では、サンプルソースコードです。

 

 

サンプル

<?php
require('../../../wp-blog-header.php');
date_default_timezone_set('Asia/Tokyo'); 
$todaytime = date('YmdHi',time());
$posttiome = date('Y-m-d H:i:s',time());//投稿日時をセット用
$content = 'これは投稿本文です。<br>テストあああ。';
$post = array(
 'post_author' => 1, // 作成者のユーザー ID。
 'post_content' => $content, // 投稿の全文。
 'post_date' => $posttiome, // 投稿の作成日時。
 'post_name' => 'todaysblog'.$todaytime, // 投稿スラッグ。
 'post_status' => 'publish', // 公開ステータス。 
 'post_title' => 'これは投稿タイトルです。', // 投稿のタイトル。
 'post_type' => 'blogs' ,// カスタム投稿タイプ名。
 'tax_input' => array('blogcat' => array(12)) //カスタムタクソノミー
);   
$postid = wp_insert_post( $post );
if($postid !=0){
 wp_set_object_terms( $postid, array(12), 'blogcat' );
}
?> 

 

少し解説

1行目では wp-blog-header.php を自作プログラムに読み込むことによって、wordpressの関数が使えるようになります。
見て解るように、pathはそのファイルから見た、 wp-blog-header.php の場所ですのでご自身の環境にあったものにして頂けると良いかと思います。
これで、投稿した記事やカテゴリなどなど取得したり、なんでもできちゃいます。

次に、少し気をつけるところが、’post_type’ と ’tax_input’ の部分です。
‘post_type’ はカスタム投稿タイプの名前を、 ’tax_input’ には、カスタムタクソノミーなのですが、その先はスラッグではなくIDになります。サンプルコードだと、(12) の部分になりますが、私の場合たまたまIDが12だったので、12を入れたのですが、これもご自身のIDを確認してセットして下さい。

IDの確認はカテゴリIDと同じく以下のように確認します。

custumtype01

最後に、 wp_set_object_terms( $postid, array(12), ‘blogcat’ ); ですが、たまにカスタムタクソノミーの登録がうまくいかない場合があります。念のため、ここで記事とカスタムタクソノミーを紐付けておきます。

 

これをcronでアクセスするようにすれば・・・ニヤニヤ。という事になります。(`・ω・´)

 

・・まぁ、例えば何に使うかというと、自分のブログで何かしらルールを作ってカテゴライズした過去記事を引っ張ってきて、それを集約した記事本文を自動生成して、月1とかで自動投稿するとか、そういう事をしたりすると、投稿サボってていても少しは記事数稼げるかな~なんて・・・・いやしい事しか思い浮かばないですが、そんな感じです。

 

以上、覚え書きでした。

 

 

Clip to Evernote
このエントリーをはてなブックマークに追加