| WordPressのサイトマップを作る【プラグインなし】ブログトップ | CMS関連 | PHP関連 | PittaからGoogleAdsenseに乗り換え
プラグイン作るときは自動保存に注意【WordPress】
この記事は1年以上前の記事のため、内容が古い可能性があります。
WordPressにて投稿フォームに設置するようなプラグインを作る場合は、自動保存に注意しましょうというメモ。
投稿フォームに設置するということは
add_action('save_post', 'hoge_save'); function hoge_save( $post_id ) { $wpdb->query("UPDATEやINSERTのSQL"); }
みたいな保存用のプログラムを書くことになると思うのですが、問題は自動保存。
この「add_action('save_post', '実行する関数名');」というのは、ボタンを押して保存するタイミングだけでなく、自動保存時にも実行されてしまうのです。
自動保存時には処理をしなくて良い場合は
add_action('save_post', 'hoge_save'); function hoge_save( $post_id ) { if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return $post_id; $wpdb->query("UPDATEやINSERTのSQL"); }
というふうに、関数の初めに
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return $post_id;
を追記しましょう。
いや~、自動保存されるたびに、保存されていたはずのデータがリセット、というか空になってしまったので焦りました。
どうも、自動保存ではPOSTされるはずのデータがちゃんと渡されず、空のデータをUPDATEしてしまうみたい。
他のプラグインなどを参考にすると、自動保存用対策の記述がちゃんと書かれているんですけどね・・・
ちゃんと調べましょうということで^^;
nandani | 2012年05月25日 | コメント(0) | トラックバック(2) | CMS関連 | PHP関連
トラックバック
トラックバックURL
トラックバック一覧
[...] [...]
[…] プラグイン作るときは自動保存に注意【WordPress】 […]
コメントする
※メールアドレスが公開されることはありません。