2
2013
Eklentiler Listesinde Eklentimiz İçin Ayarlar (Settings) Linki Oluşturuyoruz
WordPress eklentileri yazanlar için güzel bir ipucum var. Yönetim Paneli / Eklentiler sayfasına girdiğimizde sitede yüklü eklentiler görüntülenir, bu sayfada eklentiler üzerinde yönetim işlemlerimizi yaparız. Genelde bir eklentiyi etkinleştirdiğimizde, eklenti, yönetim paneli menülerine seçenekler ekler, çoğu eklenti Ayarlar menüsüne ya da Araçlar menüsüne alt menü eklemekte. Benim sevmediğim nokta ise bu linki nereye eklediğini, menülerde dolaşarak bulmak. Halbuki bazı eklentileri etkinleştirdiğimizde, etkinleştir linkinin yanında bir de Settings (Ayarlar) linki görünür. Peki bu link nasıl eklenir?
Kendi eklentinizi yazdığınızda, eklenti kullanıcılarına böyle bir iyilik yapıp, bir Ayarlar linki eklemek isterseniz, yapmanız gereken aşağıdaki kodu kendinize göre düzenleyip, eklenti kodlarınız arasına eklemek.
function yakuphoca_ayarlar_linki_ekle($links) { $ayarlarlinkim = '<a href="options-general.php?page=eklentinizin_dosya_adi.php">Ayarlar</a>'; array_unshift($links, $ayarlarlinkim); return $links; } add_filter('plugin_action_links_'.plugin_basename(__FILE__), 'yakuphoca_ayarlar_linki_ekle' );
Fonksiyon içerisindeki eklentinizin_dosya_adi.php yerine kendi dosyanızın adını yazın ya da en iyisi eklentinizin ayarlar sayfasına giden menü seçeneğinin linkini kopyalayıp, href özelliği içerisine yapıştırın. Örnekte, ayar sayfanızın menü linkinin Ayarlar ana menüsünün altında olduğu düşünülmüştür. Diyelim ki Araçlar altına ayarlar sayfanızın linkini eklemişseniz options-general.php yerine tools.php yazmalısınız.
Kodu ekleyip, Yönetim panelinden Eklentiler sayfasına girdiğinizde, eklentinizin isminin hemen altında ayarlar linkini görebileceksiniz.

Eğer eklentinizde sınıf yapısını kullanıyorsanız, yukarıdaki fonksiyonu sınıfınızın içerisine kopyalayıp, sınıfınızın __construct() fonksiyonu ya da menü seçeneklerini nerede oluşturuyorsanız o fonksiyon içerisine yukarıdaki add_filter ile başlayan satırı aşağıdaki şekilde yazın.
add_filter('plugin_action_links_'.plugin_basename(__FILE__), array(&$this,'yakuphoca_ayarlar_linki_ekle') );
Benim eklentimin __construct() fonksiyonumun kodları aşağıdaki gibi oldu.
public function __construct() { add_action( 'admin_menu', array( $this, 'admin_menu' ) ); add_filter('plugin_action_links_'.plugin_basename(__FILE__), array(&$this,'add_plugin_settings_link') ); }
Böylece eklentimizin kullanışlılığını bir adım öteye götürmüş olduk.