| |||||||||||||||||||||||||||||||||||||||||||||||||
サイト内検索
カスタム検索
|
WordPress プログラミング
» 新規公開と更新の見分け方 - WordPress プラグイン開発
新規公開と更新の見分け方 - WordPress プラグイン開発WordPress プラグインでのアクションの概要と問題点WordPress のプラグインを開発する時は、WordPress の内部で発生するアクション (action) に対して、 関数をフックさせます。 例えば、記事を公開するときに何かしたい場合は、publish_post というアクションに、 自前の関数をフックします。 例えば、public_post アクション発生時に my_func1 という関数を呼びたい場合には、 WordPress が持つ、add_action を次のように呼び出します。 add_action ( 'publish_post', 'my_func1' ); これで記事 (post や page) の新規公開時または更新時に、my_func1 を呼び出すことができます。 実は、ここにひとつちょっとした問題があります。 いま、しれっと「新規公開時または更新時に」 と書きましたが、 WordPress のアクション・フックで新規公開と更新を区別したい場合も当然あります。 実は edit_post というアクションもあるのですが、edit_post は publish_post 時に続けて呼び出されますので、 edit_post は使えません。 そこで、記事の新規公開と更新を区別したい場合にどうしたらよいか、という点についてこの資料で説明します。 公開時の 「元の記事の状態」 で区別ができる!WordPress の記事には次の3つの状態があります。
そして、WordPress の管理画面では、hidden 値として original_post_status という値を保持しているのですが、 この値が、publish ボタン押下前の状態を保持しています。 具体的には次のようになります。
つまり、publish_post のアクション・フックにて、$_POST['original_post_status'] をチェックして、 その値が publish であれば既に公開されていた記事の更新であり、それ以外であれば、 非公開だった記事が公開状態に変更された、ということがわかります。
尚、この内容は独自に調べたものであり、オフィシャルな推奨の方法ではないかもしれません。
WordPress プログラミング
» 新規公開と更新の見分け方 - WordPress プラグイン開発
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
© 2008-2010 小山圭介 All Rights Reserved.
|
|||||||||||||||||||||||||||||||||||||||||||||||||