WordPress

削除(アンインストール)時に、変数を削除する[カスタムフィールド枠の追加]。:【31日目】WordPress1日1プラグイン

投稿日:

ようこそのお運びで、厚く御礼申し上げます。
31日目です。前回、プラグインの追加・停止・削除時の処理について書きましたが、今回はそれを一部実践してみます。

新しく追加したカスタムフィールド枠を削除(アンインストール)したときに、設定した変数を削除する。

新しく追加したカスタムフィールド枠を削除(アンインストール)時に、変数を削除してみます。

なぜ必要かというと、
例えば25日目の新しくカスタムフィールド枠を追加してみる。」で、
作成したプラグインを停止しても・・・
140217-0001

このプラグインで設定した「paka3text」変数が消えていない・・・。

ということでたくさんゴミが増えて大変になってます。

ですので・・・
今回は削除(アンインストール)時この変数を削除してしまうことにします。

このプラグインの管理画面で「削除」すると、
140217-0004

このプラグインで設定した「paka3text」もデータ毎、全部削除してしまう
140217-0005
というふうに設定します。

今回は、プラグインのファイルに直接書いていきます。

プラグインの削除のお話なので、今回はプラグインファイルに以下のコードを書きました。
今回は、25日目の「新しくカスタムフィールド枠を追加してみる。」のソースコードに削除処理を追加しました。

ポイントはどこ?

今回の内容は25日目の「新しくカスタムフィールド枠を追加してみる。」に追加しているだけなので、削除処理についてのみ説明を書きます。

  • 削除(アンインストール)の処理:register_uninstall_hook
    (WordPress Codex参照:register_uninstall_hook)

    //※削除(アンインストール)時の処理
    if(function_exists('register_uninstall_hook')) {
        register_uninstall_hook(__FILE__, 'paka3_custom_end');
    }
  • delete_post_meta_by_keyでカスタムフィールドの変数を削除します。
    (WordPress Codex参照:delete_post_metaページ内)

    //#################################
    //削除(アンインストール)時の処理
    //#################################
    function paka3_custom_end(){
        //カスタムフィールド変数:paka3textをすべて削除
         delete_post_meta_by_key("paka3text");
    }

今回のまとめ

今回のことでわかったのは、データを参照するだけのプラグインは「作るだけ」よかったのだけど、データを登録・参照するプラグインWordPressの整合性・使い勝手を壊さないプログラムを書くようににしないといけないなーっとあらためて思いました。

-WordPress
-, , ,

Copyright© アルパカ@ラボ , 2019 All Rights Reserved Powered by AFFINGER5.