WordPress Tema Özelleştiricisi ile Etkileşim

  1. 1. WordPress Tema Özelleştiricisine Giriş
  2. 2. Şu Anda Okuma: WordPress Tema Özelleştiricisi ile Etkileşim
  3. 3. WordPress Tema Özelleştirici
  4. 4. WordPress Teması Özelleştiricisinin Genişletilmesi
  5. 5. Tema Özelleştirici Boilerplate – Koşullu Seçenekler, Alt Temalar ve Eklentiler

WordPress Tema Özelleştirici dizisinin 1. bölümünde Tema Özelleştirici ile etkileşim kurmak için yüklemeniz gerektiğini belirtmiştim. $ wp_customize nesnesi olan WP_Customize_Manager sınıf. Bunu yapmak için şunu kullanmalısınız: customize_register eylem kanca:


add_action ('özelleştirmek_kaydı', 'my_theme_customize_register');
işlev my_theme_customize_register ($ wp_customize) {

// $ wp_customize nesnesiyle etkileşim kurma

}

Bu kodu temanızın işlevlerine yerleştirebilirsiniz. Php veya üzerinde bulunan bir dosya.

Tema Özelleştirici öğeleri ekleme veya kaldırma (bölümler, ayarlar ve kontroller)

Yüklendikten sonra $ wp_customize nesne içindeki ayarları, kontrolleri ve bölümleri eklemek, almak veya kaldırmak için yöntemlerinden herhangi birini kullanabilirsiniz (add_setting, get_setting, remove_setting, add_control… anladınız).

Yani, eğer istersen almak veya Kaldırmak bir bölüm, kontrol veya ayar, tek ihtiyacınız olan kimliği. Bu satır, Renkler bölümünü kaldıracaktır (ilk kod snippet’inden my_theme_customize_register işlevinin içine yerleştirin):

$ wp_customize-> remove_section ('renkler');

Bölüm eklemek, kontrol veya ayar biraz farklıdır çünkü daha fazla parametre gerektirir. Hepsini iki nedenden dolayı burada geçirmeyeceğim:

  1. Bu serinin gerçekte amacı bu değil, bunun yerine temanıza bırakabileceğiniz bir Tema Özelleştirici şablon oluşturacağız
  2. Alex Mansfield zaten 6000 kelimelik bir canavarında Tema Özelleştirici eğitimi her WordPress tema geliştiricisinin okuması ve ardından tweet atması gerekir (cidden, henüz yapmadıysanız, şimdi okuyun).

Ancak yine de, yeni bir Tema Özelleştirici bölümünde kendi ayarlarınızı nasıl kontrol edebileceğinize ve bazı argümanlara bakalım. Gerçek örneklerle çalışmak çok daha kolay olduğu için, peşinde olduğumuz şey:

  • “Düzen” etiketli yeni bir bölüm
  • Temanızın düzenini saklayan yeni bir ayar
  • İki seçenekli yeni bir radyo kontrolü – sol kenar çubuğu ve sağ kenar çubuğu

Tema Özelleştiriciye eklenecek ilk şey “Düzen” bölümü:

$ Wp_customize-> add_section (
// Kimlik
'Layout_section',
// Bağımsız Değişkenler dizisi
dizi(
'title' => __ ('Düzen', 'my_theme'),
'capability' => 'edit_theme_options',
'description' => __ ('Temanızın düzenini düzenlemenizi sağlar.', 'my_theme')
)
);

Henüz özelleştiricide görmeyi denemeyin, bir ayar ve ayar eklenmedikçe bir bölüm gösterilmez. Şimdi ikisini de ekleyelim:

$ Wp_customize-> add_setting (
// Kimlik
'My_theme_settings [layout_setting],
// Bağımsız Değişkenler dizisi
dizi(
'default' => 'sağ kenar çubuğu',
'type' => 'seçenek'
)
);
$ Wp_customize-> add_control (
// Kimlik
'Layout_control',
// Bağımsız Değişkenler dizisi
dizi(
'type' => 'radyo',
'label' => __ ('Tema düzeni', 'my_theme'),
'section' => 'layout_section',
'choices' => dizi (
'sol kenar çubuğu' => __ ('Sol kenar çubuğu', 'my_theme'),
'sağ kenar çubuğu' => __ ('Sağ kenar çubuğu', 'my_theme')
),
// Bu sonuncunun ayar kimliği yukarıdan eşleşmesi gerekir
'settings' => 'my_theme_settings [layout_setting]'
)
);

Alex’in öğretici ve / veya Codex sayfalarını okuduğunuzu varsayarsak, add_setting bağımsız değişkenler dizisinde (“tür”) odaklanmak istediğim tek bir parametre var. Burada ‘seçenek’ ve ‘theme_mod’ olmak üzere iki seçeneğiniz vardır ve bunları kullanarak get_option ve get_theme_mod, sırasıyla. Her zaman ‘seçenek’i kullanıyorum çünkü tema ayarları değerlerinize aşağıdaki gibi kimlikler vererek serileştirmenize izin veriyor my_theme_settings [setting_1], my_theme_settings [setting_2] Bu şekilde tüm değerler wp_options tablonuzda bir veritabanı girişi olarak saklanır..

Ve son olarak, bağladığınız işlev için bu iki kod parçacığını ekledikten sonra customize_register eylem kancası (bu yayındaki ilk kod snippet’i), Tema Özelleştirici özelleştirildi:

Tema Özelleştiriciye yeni bölüm eklendi

Tema Özelleştiriciye yeni bölüm eklendi

Temanızda Tema Özelleştirici ayar değerlerini kullanma

Kullanıcılarınıza bu ayarı saklama olanağı verdikten sonra, değerini alabilir, body_class filtre kancasını ekleyin ve mevcut gövde sınıfları dizisine ekleyin:

add_filter ('body_class', 'my_theme_body_classes');
işlev my_theme_body_classes ($ classes) {

/ *
* Add_setting arguments dizisinde 'seçenek' kullandığımızdan
* get_option işlevini kullanarak değeri alırız
* /
$ my_theme_settings = get_option ('my_theme_settings');

$ classes [] = $ my_theme_settings ['layout_setting'];

$ sınıfları;

}

Bu, temanızdaki gövde sınıflarına dizi .left-sidebar veya .right-sidebar ekler. Bu iki sınıfı temanızın style.css dosyasında kullanarak iki farklı düzen oluşturabilirsiniz. Örneğin:

/ * Sağdaki kenar çubuğu varsayılan düzendir * /
#content {
şamandıra: sol;
genişlik:% 60;
}
#sidebar {
Sağa çık;
genişlik:% 30;
}

/ * Varsayılan düzeni geçersiz kılmak için .left-sidebar sınıfını kullanma * /
.sol kenar çubuğu #içerik {
Sağa çık;
}
.sol kenar çubuğu #sidebar {
şamandıra: sol;
}

Hepsinden iyisi, WordPress Tema Özelleştirici sayesinde, kullanıcılar herhangi bir şeyi kaydetmeden önce her iki düzeni de önizleyebilir. Bunu al, tema ayarları sayfaları!

Özet ve İleri Okuma

TL; Bu yazının DR sürümü şu şekilde gider: $ Wp_customize nesnesini alabilir ve ardından bir şey ekleyebilir (bölüm, ayar veya kontrol) veya nesneden kaldırabilirsiniz. Diğer her şey ayar parametrelerine kaynar.

Üçüncü bölüm, tüm süreci otomatikleştirmeye ve temanıza girip hemen kullanmaya başlayabileceğiniz Theme Customizer Boilerplate üzerinde çalışmaya başlayacağımız için bu serinin ilginç hale geldiği yerdir. Bizi izlemeye devam edin!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map