wordPress MUにて、投稿時に何かアクションをする場合
※たぶん、WordPress本家もほとんど同じと思われます。
WordPressMUを使っているときに、管理しているブログで投稿した記事の新着を表示する必要があったのですが、
複数のブログの新着をまとめて見る機能はついていないようなので、調べてみました。
方針としては、どのブログであろうと、投稿を行うときに、新着テーブルにインサートしてしまおうという方向です。
1.投稿しているプログラムを探す。
単純に、投稿している画面のHTMLを読んで、探しました。
結果、 wp-admin/includes/post.php で行っていることが判明。
この中の、function edit_post()で投稿(更新のときも)を行っています。
ためしに、関数の最後に、
foreach($_POST as $key=>$val){$text.=$key.”:”.$val.”<br />”;}wp_die( $text.”<br / >id:”.$post_ID);
として確認。
投稿はしっかり反映されているものの、POSTの内容がしっかり表示されました。
2.投稿成功時のロジック追加
WPは投稿がうまくいかなかったら、上手にエラーでろじっくを止めてくれるので、関数の最後に、テーブルインサートの文を入れるだけで良さそうです。
wp_postsのような名前のテーブルから、IDをもとに検索した結果を、そのまま新規投稿保存テーブルに挿入します。
3.表示
あとは、新規投稿保存テーブルから、適宜ぬきだせばOK
意外と簡単でした。
コメントはまだありません。