Can sıkıntısından bu gün ne yapsam diye düşünürken WordPress eklenti geliştirme konusunda bir araştırma yapayım ve geliştirebilir miyim diye test edeyim edim. Olay görüldüğü kadar kolay olmamakla birlikte aslında eğlenceli yanları da bulunuyor. Tek sıkıntı internette yaptığım arama sonuçlarında hep sonuçsuz kaldığımı belirtmek isterim. Tabii ki bende çözümü hazır yapılmış kaynakları karıştırma sonucu buldum.

Kesinlikle wordpress hakkında geniş bir geliştirme arzusu veya aşırı ihtiyacınız yoksa uğraşmayın derim. Oldukça karışık işlemler bütününden oluşmaktadır. Ama yine de heves eden arkadaşlar için yaptığım test eklentisinin kodlarını sizinle paylaşmak istiyorum.

Eklenti geliştirmeye giriş :

Öncelikle wp-content>plugin klasörünü açıp içine yeni bir klasör oluşturun. Yeni eklenti ismini bu klasöre vereceksiniz. İçerisine bir adet eklentiismi.php diye php oluşturun. İçerisine aşağıdaki paylaşımı yapıştırın. Alt tarafta paylaşılan içeriği kendinize göre düzenleyebilirsiniz. WordPress’in yaptığımız çalışmanın bir eklenti olduğunu anlamasını sağlıyoruz.

/*
Plugin Name: Görülen Eklenti ismi
Plugin URI: https://www.tayfunylmz.com
Description: Eklenti açıklamanız.
Version: 1.0
Author: Tayfun YILMAZ
Author URI: https://www.tayfunylmz.com/blog/
License: GNU
*/

Devamında kodlama kısmına geçeceğiz. Şuan admin paneli eklentiler bölümünde yeni eklentiniz görülüyor. Şimdi sırası ve önem önceliğine göre neler yapabileceğimizi kodlarla anlatmaya çalışalım.

WordPress plugin yapma konusunda belkide beni en çok araştırma yapmaya zorlayan belkide en önemli özellik css ve js tanımlama olayı oldu. Saatlerce aramalarım sonucu yabancı kaynaklardan sonuca ulaştım ve sizinle ilk bunu paylaşayım.

WordPress Eklenti’ye Style dosyası ekleme :


add_action('admin_enqueue_scripts', 'eklenti_stylesheets', PHP_INT_MAX);

/* adds stylesheet file to the end of the queue */
function eklenti_stylesheets()
{
wp_enqueue_style(‘maini’, EKLENTI_URL.’css/maini.css’, array(), ‘0.1.0’, ‘all’);
}

Aynı şekilde kullanabilirsiniz. Tek yaptığım plugin klasörümün içerisine css klasörü oluşturdum ve maini.css dosyasına css kodlamamı yaptım. Yaptığım çalışma test amaçlı olduğu için detaya girmedim tabii ki… Yukarıdaki kodun üzerine tek bir kod gelebilir. O da EKLENTI_URL değişkenini tanımlayacak olan koddur. O kodu da bir alt satırda paylaşacağım zaten. admin_enqueue_scripts işte beni en çok aratan değişkende bu. admin sayfasında css değişikliği yapıyormuş.

 


if(!defined('EKLENTI_URL'))
define('EKLENTI_URL', plugin_dir_url( __FILE__ ));

Yukarıda ki kod da yaptığımız eklentinin ana dizinini çağırıyor ve yukarıda belirttiğim gibi bir önceki kodun hemen üzerinde çalıştırmanız gerekmektedir.

Bir çok şey yaptınız ama onu görmeniz gerekiyor tabii ki… Bir çok yolu olsa da eklentiye en iyi ulaşma yöntemi münü olduğunu düşünüyorum. Fakat menümüzü kalabalıklaştırmamak adına Menülere sub menüler ekleyerek sade ve güzel bir görünüm elde etmiş olacaksınız.

 


add_action('admin_menu', 'css_menu');
function css_menu(){
add_menu_page('Haberler','Haberler', 'manage_options', 'css_test', 'css_sayfa',EKLENTI_URL.'image/icon.png','1');
add_submenu_page( 'css_test', 'Ayarlar', 'Haber Ayarlari', 'manage_options', 'css_ayar', 'css_ayar' ); // Az Önce Oluşturduğumuz Üst Seviye Altında Çalışır

}

Şeklinde menümüzü de oluşturmuş oluyoruz. Önemli detay sub menü oluşturma işlemidir. İnternette yine çok uzun süre araştırma yapmamı sağlayan kodlamadır. Tek tek açıklamaya gerek olduğunu düşünmüyorum. Sadece menü eklemesi yaparken ana menüye icon eklenebilmektedir. örneğimizde o işlem zaten mevcuttur.

Tabii bu işlemleri yapınca da menülerin açılacağı sayfa henüz görülmüyor o nedenle sayfalama işleminide yaptığımızda eklentiniz hazır durumda olacak.


function css_sayfa(){
echo '<div id="baslik">Eklenti anasayfamız</div>';
}


function css_ayar(){
echo '<div id="baslik">Eklenti Ayarlari</div>';
}

Yukarıda ki kodları kullanarak sayfa tasarımını yapacağımız alanları ayarlayabiliriz.

WordPress eklenti geliştirme hakkında daha fazla yeni bilgi buldukça bu başlık altında paylaşacağımı belirtmek isterim yeni bir konu açmayacağım. O nedenle bu konuyu sık kullanılanlarınıza ekleyerek takip edebilirsiniz.

CEVAP VER

Please enter your comment!
Please enter your name here