投稿内容を改変する WordPress プラグインのひな形
投稿内容を改変する WordPress プラグインのひな形です。
- /*
- Plugin Name:
- Plugin URI: http://zone.maple4ever.net/blog/
- Description:
- Author: hiromasa
- Version: 1.0
- Author URI: http://zone.maple4ever.net/blog/
- */
- $wppostfix = new WpPostFix();
- add_action('save_post', array($wppostfix, 'postfix'), 99);
- add_action('edit_post', array($wppostfix, 'postfix'), 99);
- add_action('publish_post', array($wppostfix, 'postfix'), 99);
- class WpPostFix {
- function postfix($postID) {
- global $wpdb;
- // DB から content を post_id から検索して持ってきて
- $content = $wpdb->get_var("SELECT post_content FROM {$wpdb->posts} WHERE ID = '{$postID}' LIMIT 1");
- // 適当に修正して
- $content = $this->fixcontent($content);
- // DB をなおした内容でアップデートする
- $wpdb->query("UPDATE {$wpdb->posts} SET post_content = '{$content}' WHERE ID = '{$postID}'");
- // 次の人のために post_id 戻しておく
- return $postID;
- }
- function fixcontent($content) {
- // 正規表現とかで置換する
- $before = 'hogehoge';
- $after = 'mogemoge';
- $content = preg_replace("/$before/i", $after, $content);
- // 戻す
- return $content;
- }
- }
投稿時に、add_action を使ってデータベースの内容をアップデートしてしまうコードです。 上の例はエントリ中に、hogehoge があったら mogemoge に置換します。
フィルターではないので、実データかきかえちゃいます。使うときはお気をつけください。 🙂