Go Dilinde Concurrency

2,065 More

Projedeki Git Dosyaları Nasıl Silinir?

1 7,465 More

yTheme

4 2,627 More

Sunucu Güvenliği | SSH (Secure Shell) Kullanımı

2 2,056 More

Truemag

  • PHP
  • Golang
  • Laravel
  • Linux
  • SQL
  • SEO
  • WordPress
  • Diğer
    • Yazılım
    • Javascript
    • Css/XHtml/W3C
    • Genel
    • Tanıtım
    • Ajax
  • Home
  • ANASAYFA
  • HAKKIMDA
  • SPONSORLUK
  • ARŞİV
  • İLETİŞİM
  • BENİMLE ÇALIŞMAK İSTER MİSİNİZ?

WordPress Eklenti Aktivasyon Fonksiyonu

WordPress’te eklenti yazmayı düşünenlerin bilmesi gereken fonksiyonlardan belki de en önemlisi aktivasyon fonksiyonudur yani register_activation_hook(). Bu fonksiyon sayesinde eklentimiz etkinleştirildiğinde veritabanında tablolar oluşturulmasını ya da yöneticiye bir mesaj göstermeyi sağlayabiliriz. Bu faydalı fonksiyonun kullanımı ise şu şekildedir;

Çağırılacak Fonksiyon

Aktivasyon fonksiyonunu kullanmadan önce aktivasyon anında yapılmasını istediklerimizi belirtmemiz gereken bir fonksiyona ihtiyacımız vardır. Yakuter Rastgele Sözler Eklentisi‘nden örnek vermek gerekirse diyelim ki eklenti etkinleştirildiği zaman veritabanında bir tablonun oluşmasını istiyoruz. Malum daha sonra eklentiyi kullanırken veriler (bizim örneğimizde rastgele sözler) bu tabloya kaydedilecek. Bu fonksiyonu şöyle tanımlayabiliriz:

PHP
1
2
3
4
5
6
7
8
9
10
/* ********** Veritabani yükleme - DB Install ********** */
function ysoz_install()
{ global $wpdb;
$db_sql="CREATE TABLE IF NOT EXISTS `{$wpdb->prefix}ysoz` (
   `id` bigint(20) NOT NULL auto_increment,
   `metin` text NOT NULL ,
   PRIMARY KEY  (`id`)
)";
$wpdb->query($db_sql);
}

Aktivasyon Fonksiyonu

Aktivasyon esnasında yapılacakları belirledikten sonra sıra bu fonksiyonu çağırmaya geliyor. İşte bunun için de yazımızın konusu olan register_activation_hook() fonksiyonundan faydalanıyoruz.

PHP
1
register_activation_hook(__FILE__,'ysoz_install');

Deaktivasyon Fonksiyonu

Diyelim ki eklentiyi etkisizleştirdiğimizde yukarıdaki işlemin tersinin olmasını istiyoruz ve veritabanındaki tabloların silinmesini istiyoruz. Onun için de şöyle yapabiliriz.

PHP
1
2
3
4
5
6
7
8
/* ********** Veritabani kaldırma - DB Uninstall ********** */
function ysoz_uninstall()
{ global $wpdb;
$db_unsql="DROP TABLE IF EXISTS {$wpdb->prefix}ysoz";
$wpdb->query($db_unsql);
}
 
register_deactivation_hook( __FILE__, 'ysoz_uninstall' );

Sınıf (Class) İçindeki Fonksiyonu Çağırma

Biraz daha ileri bir örnek vermek gerekirse eğer eklentinizde sınıf(class) kullanmışsanız ve bu sınıf içindeki bir fonksiyonu çağırarak aktif hale getirmek istiyorsanız o zaman da şöyle bir yol izleyebilirsiniz.

PHP
1
2
3
4
5
6
class MyPlugin {
     static function install() {
            // etkinleştirme fonksiyonu içeriği
     }
}
register_activation_hook( __FILE__, array('MyPlugin', 'install') );

Kaynak: WordPress Codex

Ağu 3, 2014Erhan Yakut
Cloud Sunucu


hosting

Wordpress Dizin FonksiyonlarıBenimle Çalışmak İster misiniz?
You Might Also Like
 
WordPress Mu Nasıl Türkçeleştirilir?
 
WordPress’te Bağlantıları Gösterme
Erhan Yakut
6 years ago WordpressEklenti, kod, Php, programlama, register_activation_hook(), register_deactivation_hook(), Wordpress30,416
Sponsorlar

sponsor

sponsor

sponsor

sponsor
Bağlantılar
  • Beyazıt Kölemen
  • Domatessuyu
  • Lezzetli Robot Tarifleri
  • Ofizzo
  • PHP Dersleri
  • Wordpress Hosting
Random Posts
Laravel | Önbellek (Cache) Temizleme
Starwars Türk Blog Tasarımı
23 Nisan Kutlu Olsun!
PHP İpucu #5 – PHP ile Veritabanında Kompleks Değişkenler Kaydetmek
PHP ve NATS ile
 Mikroservis Mesajlaşma Sistemi
sdafasdf
Hakkımda

Bilişim Teknolojileri alanında içerik üretmek üzere oluşturulmuş olan Yakuter.com 2006 yılında Erhan Yakut tarafından hayata geçirilmiştir. devamını okuyun…

CLOUD SUNUCU DESTEĞİ
2006-2020 © Yakuter