source

처음 활성화될 때만 실행되는 플러그인에 코드를 추가하시겠습니까?

manycodes 2023. 2. 10. 22:08
반응형

처음 활성화될 때만 실행되는 플러그인에 코드를 추가하시겠습니까?

플러그인이 처음 활성화되었을 때만 실행되는 특수 함수로 코드를 래핑할 수 있습니까?

플러그인 활성화 시 실행해야 하는 데이터베이스 코드가 몇 개 있지만 그 후 다시 실행할 필요가 없습니다.

네, 가능합니다.플러그인이 활성화될 때만 실행되는 플러그인 활성화 후크를 등록할 수 있습니다.코드 예시를 위해 작성한 오래된 플러그인을 찾아냈습니다.

class MyPlugin
{
    //constructor for MyPlugin object
    function MyPlugin() {
        register_activation_hook(__FILE__,array(&$this, 'activate'));
    }

    function activate()
    {
        //initialize some stored plugin stuff
        if (get_option('myplugin_data_1') == '') {
            update_option('myplugin_data_1',array());
        }
        update_option('myplugin_activated',time());
        //etc
     }
}

http://codex.wordpress.org/Function_Reference/register_activation_hook

register_activation_hook 함수(WordPress 2.0에서 도입)는 플러그인이 활성화되었을 때 실행할 플러그인 함수를 등록합니다.

또한 플러그인이 사용자에 의해 비활성화되면 wp 데이터베이스에 저장되어 있는 테이블옵션을 삭제할 수 있습니다.이것에 대해 최근 wp register_deactivation_hook() 함수에 대해 짧은 글을 썼습니다.

http://www.martin-gardner.co.uk/how-to-get-your-wordpress-plugin-to-drop-table-from-the-database/

    <?php
    register_deactivation_hook( __FILE__, ‘pluginUninstall’ );

    function pluginUninstall() {
      global $wpdb;
      $thetable = $wpdb->prefix."your_table_name";
      //Delete any options that's stored also?
      //delete_option('wp_yourplugin_version');
      $wpdb->query("DROP TABLE IF EXISTS $thetable");
    }
    ?>

언급URL : https://stackoverflow.com/questions/2693834/adding-code-to-plugin-that-only-executes-the-first-time-its-activated

반응형