WordPress で投稿を新規作成/編集/削除した際に、全投稿記事の記事IDと記事タイトルをファイル出力する
クラウドソーシングの依頼ネタです。
本記事タイトルの動作も含めて、3ケースで一覧ファイルを作成したいと言う内容です。
出力する一覧ファイル
- WordPress で投稿を新規作成/編集/削除した際に、全投稿記事の記事IDと記事タイトルをファイル出力する
- カスタム投稿を新規作成/編集/削除した際に、そのカスタム投稿の全記事の記事IDと記事タイトルをファイル出力する
- ユーザー新規作成/削除時、プロフィール情報更新時に、全ユーザーのユーザーIDとニックネームをファイル出力する
対応の条件
- プラグインは使用せず、functions.php にコーディングする
- ファイル出力先は、テーマ内(テーマフォルダ内と解釈)
- ファイルの拡張子は、json/php/html/csv のいずれか
対応
以下のイベントフック、一覧を取得、一覧を出力の、WordPressイベントや関数を組み合わせて、phpプログラムを作成すれば出来ます。
イベントフック
- publish_page(投稿が1つのステータスから別のステータスに移行したときに発生)
- pre_post_update(データベースで既存の投稿が更新される直前に発生)
- post_updated (既存の投稿が更新されると発生)
- before_delete_post(wp_delete_post()の開始時に、投稿が削除される前に発生。コメント、添付ファイル、メタ情報はまだ利用できる)
- delete_post(投稿がデータベースから削除される直前に発生。コメント、添付ファイル、メタ情報はすでに削除されている)
- deleted_post(投稿がデータベースから削除された直後に発生)
- user_register(新しいユーザーが登録された直後に発生)
- delete_user (ユーザーがデータベースから削除される直前に発生)
一覧を取得
- get_posts()(最近の投稿あるいはパラメータに一致した投稿を取得)
- get_users()(条件に一致するユーザーのリストを取得)
一覧を出力
- json_encode(値を JSON 形式にして返す)
- xmlrpc_encode(PHP の値に関する XML を生成する)
- fputcsv (行を CSV 形式にフォーマットし、ファイルポインタに書き込む)
htmlとphpは、依頼主さんがどうしたいかによりますが、php の echo や fputs() で出力すれば良いと思います。