WordPress’te tema için bir yönetim paneli yazarken kullandığımız araçlar vardır. Bu araçlardan biri de Kirki’dir.

Kirki Nedir?

Kirki, WordPress’in özelleştirme panelini kullanarak tema veya eklentinizi özelleştirme ayarları eklemenizi sağlar.

Bu yazımızda ise size Kirki’nin temanıza nasıl entegre edileceğini gösterecek ve birkaç tane örneği size nasıl yapıldığını göstereceğim.

WordPress Kirki Kullanımı

WordPress temamıza yönetim paneli eklemek için kısaca maddeler halinde şu adımları takip etmelisiniz.

  1. Gerekli PHP kodlarının eklenmesi
  2. Fonksiyon dosyasına çağrılması
  3. Tema Ayarları olarak harici dosya oluşturma
  4. Kirki panel ve seçeneklerin eklenmesi

olarak sıralanabilir.

Kirki entegre yapmak çok basit bir işlemdir. Şimdi bu adımları detaylı bir şekilde gösterelim.

Gerekli PHP Kodlarının Eklenmesi

Kirki’nin temanızda görünmesi için sadece 1 adet ana dosyaya ihtiyaç vardır. Bu dosyayı indirmek için aşağıdaki butonu takip edebilirsiniz.

Gerekli Entagrasyon Dosyası

Bu kodları temamıza eklemek için;

  • Öncelikle class-kirki-installer-section.php adında bir PHP dosyası oluşturalım.
  • Yukarıdaki linkteki kodları bu PHP dosyamıza ekleyelim.
  • temanız/inc/class-kirki-installer-section.php dizininde olacak şekilde dosyamızı ekleyelim.

Şimdilik gerekli dosyayı eklemiş olduk. Şimdi bunu fonksiyon dosyamıza çağırmak var.

functions.php Dosyasına Çağrılması

Kirki’nin temanız ile birlikte çağrılması için bir yol gereklidir. Bu yolu functions.php üzerinden oluşturabiliriz.

Temamızın functions.php dosyasını açarak aşağıdaki kod bloğundaki kodu ekleyelim.


include_once get_theme_file_path( 'inc/class-kirki-installer-section.php' );

Eğer böyle bir işlem yapmak istemiyorsanız Kirki’nin WordPress eklentisini indirerek Gerekli PHP kodları ve functions.php dosyasına çağrılmasını atlayabilirsiniz.

Lakin eklenti ile devam edersiniz temanızı kullananların sitelerinde Kirki eklentisinin yüklü olması lazımdır. Bu fazla sorun yaratmaz. TGMPA gibi sistemler ile eklentiyi önerebilirsiniz.

Kirki Eklentisi

Bu kodu da ekledikten sonra son bir adım kalıyor. Tema ayarlarını eklemek için harici dosya oluşturma ve kodları ekleme.

Paneli Oluşturalım

Özelleştirme panelimize sekmeleri ve ayarları eklemek için;

  • /inc klasörünün içerisine theme-options.php olarak bir dosya oluşturalım. Bunun adını kendiniz de özelleştirebilirsiniz. Ama ben böyle tercih ediyorum.
  • Bu dosyayı functions.php dosyasına aşağıdaki kod ile entegre ediyoruz.

require get_template_directory() . '/inc/theme-options.php';

Şimdi de theme-options.php dosyamızın içeriğini dolduralım.

Aşağıdaki kodu theme-options.php dosyasına yapıştırmanız yeterlidir.


if( ! defined( 'ABSPATH' ) ){
    return;
}

if(!class_exists( 'Kirki') ){
    return;
}

Kirki::add_config( 'ecc', array(
    'capability'    => 'edit_theme_options',
    'option_type'   => 'theme_mod',
) );

Kirki::add_config( ‘ecc’, array(

sırasında ecc yazan kısmı kendi text-domain’inize göre düzenleyiniz.

Şimdi panel ve sekmelerimizi ekleyelim.

https://kirki.org/docs/setup/panels-sections/

Yukarıdaki bağlantıdan panel kodlarına erişebilir veya aşağıdaki kodları kullanabilirsiniz.


Kirki::add_section( 'ecc_panel_adi', array(
    'title'          => esc_html__( 'Panel Ado', 'ecc' ),
    'icon'           => 'dashicons-arrow-up',
    'priority'       => 1,
) );

Yine burada ecc yazan yerlere kendi text-domain’lerinizi yazmalısınız. Bu panelde add_section terimine karşılık gelen ecc_panel_adi yazısı panelimizin ID’sidir. Diğer sekmeleri eklerken bu ID’ye göre ekleme yapacağız.

‘title’ Başlık

‘icon’ İkon (Dashicons kullanır)

‘priority’ Sıralama‘dır.

Şimdi oluşturduğumuz bu panele bir adet sekme ekleyelim.


Kirki::add_section( 'ecc_sekme_id', array(
    'title'          => esc_html__( 'Büyük Slider', 'ecc' ),
    'panel'          => 'ecc_panel_id',
) );

aynı şekilde add_section kısmın karşısındaki ecc_sekme_id yazısı sekme (section) ID’sidir. Bu ID’ler açık bir şekilde yazmalıyız ki karışıklık olmasın.

‘panel’ seçeneğine de bir yukarıdaki kod blogunda olan panelin ID’sini yazıyoruz (ecc_panel_id).

Şimdi bunu ekleyerek kaydediyoruz ve admin panelimiz Görünüm > Özelleştir sekmesine giriyoruz.

Karşımıza Panel Adı paneli, onun içinde de Sekme Adı çıkacaktır.

Şimdi de bir sekmeye bir linki değiştirmek için bir ayar ekleyelim. (Şuan kodladığım Doz Mag temasının bir ayarıdır.)


Kirki::add_field( 'ecc', [
    'type'     => 'text',
    'settings' => 'ecc_link_degis',
    'label'    => esc_html__( 'İçerik Gönder Linki', 'ecc' ),
    'section'  => 'ecc_sekme_id',
    'default'  => '#',
    'priority' => 1,
] );

Şimdi bu kodu da panelimize ekledikten sonra ilgili linkimizi değiştirmek için kodumuz ekleyelim.

Bildiğiniz gibi HTML’de link etiketi a etiketidir. Normal bir a etiketi de bu şekildedir.

<a href="">Link</a>

Biz bu linkin panelden değiştirilebilir olması için de aşağıdaki kodu a etiketindeki linkin yerine koyacağız. Koymadan önce bir değişken oluşturmamız lazım. Değişkeni aynı div içerisine ekleyebilirsiniz. Bu değişken PHP kodları içerisinde olmalı.


$link_degis = get_theme_mod( 'ecc_link_degis', '#' );

Ve örnek görünüm bu şekilde olacaktır.

<a href="<?php echo esc_url( $link_degis ); ?>">Link</a>

Sekmenin ve panelin içine daha fazla eleman eklemek için aşağıdaki linki inceleyiniz. Text domain kısmını ve bağlayacağınız panelsection ID kısmında da dikkat ediniz.

https://kirki.org/docs/controls/

İlk yazılım ile ilgili yazımı böylece yazmış oldum :). Umarım doğru bir şekilde açıklamışımdır. Eğer bir hata alıyorsanız veya yapamadıysanız lütfen yorum kısmına ekleyiniz.

[geo_alert style=”2″ color=”info” ]Bu yazı eski blogumda yayınlandı. Daha sonra bu bloga taşıdım. Bilginize[/geo_alert]