[WordPress] wp_insert_post() とかをラップするクラス

データ移行の時とか、ダッシュボード以外から投稿するプラグインを作るときに使ってね。

https://github.com/wokamoto/wp_post_helper

簡単な使用方法


<?php
require_once('/path/to/wordpress/wp-load.php');
require_once('class-wp_post_helper.php');
// 初期化
$post = new wp_post_helper(array(
'post_name' => 'slug' , // スラッグ
'post_author' => 1 , // 投稿者のID
'post_date' => '2012/11/15 20:00:00' , // 投稿時刻
'post_type' => 'posts' , // 投稿タイプ(カスタム投稿タイプも指定できるよ)
'post_status' => 'publish' , // publish (公開) とか、draft (下書き) とか
'post_title' => 'タイトル' , // 投稿のタイトル
'post_content' => '本文' , // 投稿の本文
'post_category'=> array(1, 2) , // カテゴリーID を配列で
'post_tags' => array('タグ1', 'タグ2') , // 投稿のタグを配列で
));
// メディアを追加
$post->add_media(
'/path/to/wordpress/wp-content/uploads/hoge.jpg' , // メディアファイルの絶対パス
'タイトル', // メディアの「タイトル」
'説明', // メディアの「説明」
'キャプション', // メディアの「キャプション」
true // true (アイキャッチ画像にする) or false (アイキャッチ画像にしない)
);
// URL からメディアをダウンロードして追加
// remote_get_file() 関数は、class-wp_post_helper.php に入ってます。
// 引数に URL を渡すと wp_upload_dir にファイルをダウンロードして、絶対パスを返します。
// 失敗した場合は false を返す。
if ( $media = remote_get_file('http://example.com/fuga.jpg&#39;) ) {
$post->add_media($media, 'タイトル', '説明', 'キャプション', false);
}
// カスタムフィールドに値を追加
$post->add_meta(
'meta_key', // メタキー
'meta_val', // メタバリュー
true // ユニークにする(true) or しない(false)
);
// Advanced Custom Field プラグイン形式の値を追加
$post->add_field(
'field_xxxxxxxxxxxxx', // キー
'field_val' // バリュー
);
// 投稿
$post->insert();
// 後処理
unset($post);

view raw

example.php

hosted with ❤ by GitHub

細かいことは、後で dogmap.jp に書きます。


Posted

in

by

Tags:

Comments

“[WordPress] wp_insert_post() とかをラップするクラス”. への2件のフィードバック

  1. […] memo.dogmap.jp にも書いたんですが、あっさりとしすぎてるので、ここにも書いておきますね。 […]

  2. […] WordPressに自動投稿するのに便利なのが、wp_post_helperクラス。 これ、便利です! 何が便利って、アイキャッチを突っ込むための、remote_get_fileとadd_mediaが神。 […]

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。