Tema Ayarlama: Gereksinimler, Çocuk Temaları ve Eklentiler

Şimdiye kadar, Bolarplate ayarlama temasını ve kancalarını kullanarak tema seçeneklerini ne kadar basit bir şekilde kullandığını gördük.Hatırlayacağınız gibi, en önemli adım ‘thsp_cbp_opations_array’ filtre kancasına bağlanmak ve temanızda kullanmak istediğiniz çeşitli seçeneklere devam etmektir.Eminim WordPress ve kanca filtresi-api eklentisinin eylemine alışkınsınız ve çalışma şekli, ancak bu hızlı bir özettir (örnek olarak bir kanca filtresi kullanarak).Özel işlevinizi belirleyebilir ve Add_Filter işlevini kullanarak mevcut filtrelere bağlayabilirsiniz:
add_filter ($ tag, $ function_to_add, $ priority, $ cpabired_args); Öncelik argümanlarına odaklanalım. Varsayılan değer 10’dur, bu nedenle başka bir numara kullanmazsanız, işlev yürütme önceliği budur. İşleviniz gerçekleştirilmeden önce numarayı düşürün. Böylece şöyle bir şey yaparsanız: // ilk mesaj işlevini ekle my_theme_add_first_message ($ content) {$ content. = ‘
ilk mesaj
‘; $ Content iade; } add_filter (‘the_content’, ‘my_theme_add_first_message’, 1); // ikinci mesaj ekleme işlevi my_theme_add_second_message ($ content) {$ content. = ‘
ikinci mesaj
‘; $ Content iade; } add_filter (‘the_content’, ‘my_theme_add_second_message’, 2); Single.php veya başka bir şablon yayın içeriğinde The_Concent işlevini aradığınızda, ardından ilk mesaj ve ardından ikinci mesaj görüntülenir. Bu kod görüntülerindeki siparişleri olduğu için değil, yürütme önceliği parametreleri nedeniyle. Kancayı, tepeden aşağı yuvarlanan bir kartopu gibi düşünerek yollarındaki her türlü eşyayı aldı.
Bu, ayarlama temalarını kazanç plakaları için nasıl geçerlidir? ‘Thsp_cbp_Opations_Array’ ile Fonksiyon.php dosyasından, özel işlevi (örneğin my_theme_options_array) kullanarak 1 olarak ayarlanmış bir öncelik değeri ile bağlayabilirsiniz. Bkz. Bu örnek: işlev my_theme_options_array () {// gerekli özelliği almak için yardımcı işlevi kullanarak $ thsp_cbp_capable = thsp_cbp_capable (); $ options = array (// bölüm kimliği ‘my_theme_new_section’ => dizi (‘mevcut_seksiyon’ => false, ‘args’ => dizi (‘başlık’ => __ (‘yeni bölüm’, ‘my_theme_textdomain’), ‘öncelik’ => 10), ‘alanlar’ => dizi ( / * * radyo alanı * / ‘my_radio_button’ => dizi (‘setting_args’ => dizi (‘varsayılan’ => ‘opsiyon-2’, ‘type’ => ” Seçenek ‘,’ yeteneği ‘=> $ thsp_cbp_capable,’ aktarım ‘=>’ yenileme ‘,),’ control_args ‘=> dizi (‘ etiket ‘=> __ (‘ Radyo düğmesi ‘,’ my_theme_textdomain ‘),’ tip ‘ ) => ‘radyo’, // radyo kontrolü ‘seçenekleri’ => dizi (‘option-1’ => dizi (‘etiket’ => __ (‘seçenek 1’, ‘my_theme_textdomain’), ‘option-2’ => ‘Etiket’ => __ (‘seçenek 2’, ‘my_theme_textdomain’), ‘opsiyon-3’ => dizi (‘etiket’ => __ (‘seçenek 3’, ‘my_theme_textdomain’),),, ‘Öncelik’ => 3))));
Dönüş $ Options;} add_filter (‘thsp_cbp_opations_array’, ‘my_theme_options_array’, 1);Bu, temanın bir alanla ayarlanmasına yeni bir parça ekleyecektir, bu da radyo düğmeme aittir.O zaman siz veya başka biri temanız için bir çocuk teması geliştirir ve yeni bir parçayı korumaya karar verir, ancak radyo düğmemden ziyade onay kutuma sahip olmak daha iyi olabilir.Kolay:
İşlev my_child_theme_opations_array ($ options) {// gerekli özelliği almak için yardımcı işlevi kullanmak $ thsp_cbp_capable = thsp_cbp_capable (); / * * Bu sefer, yalnızca my_theme_new_section’daki alanları $ optionlar dizisinde düzenliyoruz */ $ options [‘my_theme_new_section’] [‘fields’] = dizi (‘my_checkbox_field’ ‘varsayılan’ => true, ‘type’ = type ‘= > ‘seçeneği’, ‘özellik’ => $ thsp_cbp_capability, ‘aktarım’ => ‘yenileme’,), ‘control_args’ => dizi (‘etiket’ => __ (‘benim onay kutum’, ‘my_theme_textdomain’), ‘type ‘=>’ onay kutusu ‘, // onay kutusu alanı denetimi’ önceliği ‘=> 2)); Dönüş $ Options; } add_filter (‘thsp_cbp_opations_array’, ‘my_child_theme_options_array’, 2); My_theme_options_array için $ option parametresine devam etmediğimi ve my_child_theme_opations_array işlevinde yaptığımı unutmayın? Bunun nedeni ‘thsp_cbp_opations_array’ kancasına ilk bağlandığımda, özelleştirici kazan plakası tema örneği seçeneğini değiştirmek istiyorum. Sonra, çocuğumun temasından tekrar bağladığımda, ana tema seçeneğini tamamen silmek istemiyorum, sadece biraz düzenleyin. Bu yüzden sadece $ options [‘my_theme_new_section’] [‘alanlar’] ile oynuyorum, $ option dizisinin tamamı değil.

Tabii ki, anne temanızdan ‘thsp_cbp_opations_array’ filtre kancasına bir kereden fazla bağlanabilirsiniz … eklenti bölgesi özelliklerini temanıza eklememeyi ve eklentinin yapması gerekenleri yapmasına izin verebilirsiniz. Artık tema ayarlama seçeneklerinden bazılarını yalnızca belirli eklentiler etkinse görüntülemek istiyorsunuz. Bir kez daha kolay: işlev my_plugin_dependency_opations_array ($ options) {// gerekli özelliği almak için yardımcı işlevi kullanarak $ thsp_cbp_capability = thsp_cbp_capable (); / * * Yalnızca My_plugin_Depence_section eklemek ‘Test-Plugin.php’ aktif ise */if (IS_Plugin_active (‘Test-pluggin/Test-plugin.php’))) {$ options [‘my_plugin_section> false,’ args ‘=> array (‘başlık’ => __ (‘eklentiye bağlı’, ‘my_theme_textdomain’), ‘öncelik’ => 10), ‘alanlar’ => dizi ( / * * metin alanı * / alan kimliği ‘new_text_field’ => dizi (‘ setting_args ‘=> dizi (‘ varsayılan ‘=> __ (‘ ‘,’ my_theme_textdomain ‘),’ type ‘=>’ seçeneği ‘,’ yetenek ‘=> $ thsp_cbp_capable,’ aktarım ‘=>’ Yenileme ‘,),’ control_args ‘=> dizisi (‘ etiket ‘=> __ (‘ Yalnızca ‘,’ my_theme_textdomain ‘),’ type ‘=>’ metin ‘, // metin alanı kontrolü’ öncelik ‘=> 5)),)); } dönüş $ optionlar; } add_filter (‘thsp_cbp_opations_array’, ‘my_plugin_dependency_options_array’, 3);
Temanızla kullanmak için bir temel işlev eklentisi geliştirmek ister misiniz (olması gerektiği gibi)? Eklenti dosyalarınızdan birinden ‘thsp_cbp_opations_array’ ile de bağlanabilirsiniz, aynı şekilde işlev.php dosya temasından yapabilirsiniz. Geliştirdiğiniz temaya her seçeneği eklediğinizde çılgın seçeneklere gitmeyin, siz Temel WordPress ilkelerinden birini hatırlamanız gerekiyor – karar bir seçenek değildir – akılda. Taşınması ve temanızın sahip olduğu her küçük ayrıntı için kullanıcı seçenekleri eklemeye başlamak kolaydır, ancak bu kimseye yardımcı olmaz. Umarım bu hilelerden bazıları, özellikle eklentiye bağlı seçenekler eklemek, tema seçeneklerinizin miktarını mümkün olduğunca düşük korumaya yardımcı olacaktır. Sonuçta, temanızın her bir öğenin her sınır yarıçapı gibi şeyler için bir seçeneği varsa, tema değil, Wysiwyg’in bir editörüdür ve belki de harika değil.
Beyaz bir gömlek almıyorsunuz çünkü biraz çaba ile bir masa örtüsüne dönüştürebilirsiniz, satın alırsınız çünkü “beyaz gömlek” i seviyorsunuz. WordPress teması da böyle olmalı, içeriği belirli bir şekilde sunmalı, her şeyi hayal edilebilecek tüm şekillerde yapmaya çalışmazlar. Bir tema geliştiriciyseniz, işiniz kullanıcı beklentilerini ne yapmaları gerektiğine göre sağlamaktır.

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir