Sadece onun aktive ilk defa çalıştırır eklentisi kod ekleme?

3 Cevap php

Sadece eklenti devreye ilk defa yürüten özel bir fonksiyon kodu sarmak mümkün mü?

Ben eklenti aktivasyonu üzerinde çalıştırmak için gereken bazı veritabanı kodu var ama kod bundan sonra tekrar çalıştırmak gerekmez.

3 Cevap

Evet, bu mümkün. Sen eklenti devreye aldığında sadece çalıştırmak alır bir eklenti aktivasyon kanca kayıt olabilirsiniz. Ben bazı örnek kod için yazdığı eski bir eklenti kadar temizletir:

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

The function register_activation_hook (introduced in WordPress 2.0) registers a plugin function to be run when the plugin is activated.

Lütfen eklenti size wp veritabanında kayıtlı herhangi tabloları seçeneklerini kaldırabilirsiniz kendiniz / kullanıcı tarafından devre dışı ediliyor kez de hatırlıyorum, ben bu son zamanlarda wp register_deactivation_hook () fonksiyonu bahsediyoruz hakkında küçük bir yazı yazdı ..

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");
    }
    ?>