WordPress menüsüne özel özellikler ekleyin
Web’de “WordPress menüsüne özel alanların nasıl ekleneceğini” açıklamak için çok fazla öğretici var, ancak çoğu varsayılan açıklama alanından varsayılan CSS alanının nasıl kullanılacağı hakkında tartışıyor.Hiçbiri menüye gerçek yeni bir alan eklemek için gerçek bir yöntem sağlamaz.Bu nedenle, bugün herhangi bir WordPress menüsüne “Altyazı” alanını ekleyecek basit bir eklenti yapacağız.Bu, WordPress yönetiminde nihai sonuçtur:
Adım 1: Eklentiler Yapma Önceki yayınlarımdan birinde gördüğümüz gibi, eklentiyi karmaşık hale getirin.Yalnızca WP-Concent/Eklentileri altında yeni bir klasör oluşturmanız ve buna “Sweet-Custom-menu” demeniz ve “Sweet-Custom-Menu.php” adlı bir dosya oluşturmanız gerekir.Ardından bu dosyayı açın ve bu kodu ekleyin:subtitle = get_post_meta ($ mina_item-> id, ‘Dönüş $ MENE_ITEM;} Sonra, WordPress’e işlevlerimizi dikkate almasını söylemeliyiz, bu nedenle aşağıdaki kodu __Construct () işlevine koyun:
// add_filter menüsüne (‘wp_setup_nav_menu_item’, dizi ($ this, ‘rc_scm_add_custom_nav_fields’)) için özel alanlar menüsü ekleyin); Adım 3: Özel düzlemi kaydet “Altta başlatılan alan” özellikle var olmasa bile, Menü baskısında değerini kaydedecek bir işlev oluşturmalıyız. Menü öğesi iki tür özel koğuş yayınlarındadır, böylece özel bir yazı tipi ateş ve post_meta yöntemini kullanabiliriz. Bu nedenle, özel menü alanı değerini saklamak için, bu işlevi rc_scm_add_custom_nav_fields () altına ekleyin: / ** * Menü özel alanlarını kaydet * * @access public * @since 1.0 * @return void * / function rc_scm_update_custom_nav_nav $ args) {check rc_scm_update Eleman (IS_Array ($ _Request [‘Menu-Item-Subtitle’]))) {$ subtitle_value = $ _request [‘menü-item-subtitle’] [$ menü_db_id]; update_post_meta ($ menü_item_db_id, ‘_menu_item_subtitle’, $ subtitle_value); }} Bu işlevde, özel alan değerinin yapacağımız formdan gönderilip gönderilmediğini kontrol ediyoruz ve sonra sadece değeri koruyoruz. Şimdi uygun kancaya işlevler eklemeliyiz. Bunu yapmak için bu satırı __construct () adresine ekleyin:
// menü özel alanlarını kaydet add_action (‘wp_update_nav_menu_item’, dizi ($ this, ‘rc_scm_updom_custom_nav_fields’), 10, 3); Adım 4: Form Bu eğitimi adım adım izlerseniz, alt başlıklı alanımızı içermesi gereken bir form yapmadığımızı tahmin edebilirsiniz. Bu bölüm öncekinden biraz daha karmaşıktır. Bu sefer Walker ile uğraşmak zorundayız. Walker sınıfı hakkında kodeks okumanızı şiddetle tavsiye ediyorum, bu gerçekten ne olduğunu ve ne işlediğini anlamanıza gerçekten yardımcı olacaktır. Bu arada, bu sınıf hakkında size daha fazla ayrıntı vermek için her yerde internette birçok harika öğretici var, bu yüzden lütfen kontrol edin! Walker çoğu zaman bir menüden HTML çıkışını değiştirmek için kullanılır. Burada yönetici çıktı menüsü formu üzerinde çalışıyoruz. Bu işlevi ana sınıfınıza ekleyin:/ ** * Yeni Walker Düzenleme * * @Access Public * @Since * @return void */ function rc_scm_itit_itit_walker ($ walker, $ menü_id) {return ‘walker_nav_ditd_custom’; } Ve sonra bu yapıcı içindir:
// Walker add_filter menüsünü (‘wp_itit_nav_menu_walker’, dizi ($ this, ‘rc_scm_dit_dit_walker’), 10, 2); Yapılan şey, varsayılan yönetici düzenleme menüsü formunu özel bir formla değiştirmektir. Şimdi filtre eklendikten sonra, bu iki satırı Sweet-Custom-menu.php dosyasının altına, rc_sweet_custom_menu sınıfının dışında kopyalayın: dahil_once (‘edit_custom_walker.php’); Incld_once (‘Custom_walker.php’); İki dosya gireceğiz. İlk “edit_custom_walker.php”, menüyü düzenlemek için varsayılan formu değiştirecek olanıdır. Bu dosyaya alt başlıklar ekleyeceğiz.
İkincisi, Fretend web sitesinde kullanılan Welker, bu ziyaretçileriniz için menü çıktısını değiştirecek bir dosyadır. “Edit_custom_walker.php” oldukça uzun, tüm kodu eklemeyeceğim. Kodun tamamını burada görebilirsiniz. Eklediğim tek kod satır 174’ten 185’e. php echo $ öğe_id;?> “>
<giriş türü = "text" id = "edit-mem-item-subtitle- <? php echo $ öğe_id; menü-item-subtitles []” değer = “değer = ” altyazı); menüye daha fazla alan, bu çizgiyi oldukça çoğaltın ve kopyalayıp yapıştırın. Bu adım tamamlandıktan sonra, menü yönetimde çalışmalıdır. Artık menüye yeni öğeler eklerken “alt başlık” alanını görebilmelisiniz. Değilse, öğreticiyi adım adım izlemenizi sağlayın. Şimdi alt başlık değerini ön uçta görüntüleme zamanı.
Adım 5: Özel Alan Çıkışı Her şey yönetimde iyi çalışıyorsa, artık fretend’de altyazıları görüntülemek isteyebilirsiniz. Custom_walker.php’i açın ve şu kodu ekleyin: sınıflar)? Array (): (dizi) $ öğe-> sınıflar; $ class_names = join (”, appling_filters (‘nav_menu_css_class’, array_filter ($ sınıflar), $ öğe)); $ class_names = ‘class = “‘ esc_attr ($ class_names). ” ‘; $ output. = $ indent. ‘
id. ‘”. $ değer. $ class_names. ‘>’; $ öznitelikler =! Boş ($ öğe-> attr_title)? ‘Title = “‘. Esc_attr ($ öğe-> attr_title). ‘”:’ ‘; $ öznitelik. =! Boş ($ öğe-> hedef)? ‘Target = “‘. ESC_ATTR ($ öğe-> Target). ‘”:’ ‘; $ öznitelik. =! Boş ($ öğe-> xfn)? ‘Rel = “‘. Esc_attr ($ item-> xfn). ‘”:’ ‘; $ öznitelik. =! Boş ($ öğe-> url)? ‘href = “‘. Esc_attr ($ öğe-> url). ‘”:’ ‘; $ prend = ”; $ append = ”; $ açıklama =! Boş ($ öğe-> açıklama)? ”. Esc_attr ($ öğe-> açıklama). ”: ”; if ($ derinlik! = 0) {$ açıklama = $ append = $ prend = “”; } $ öğe_utput = $ args->
önceki; $ öğe_utput. = ‘‘; $ Item_output. = $ args-> link_beFore. $ prend.apply_filters (‘the_title’, $ öğe-> başlık, $ öğe-> id). $ öğe_utput. = $ açıklama. $ args-> link_after; $ öğe_utput. = ”. $ item-> altyazılar. ‘‘; $ öğe_utput. = $ args-> sonra; $ output. = Appli_filters (‘walker_nav_menu_start_el’, $ item_output, $ öğe, $ derinlik, $ args); }} Bu kod oldukça standarttır. Buradaki tek önemli şey şu satır: $ item_utput. = ”. $ İtem-> altyazılar. ”; Adım 6: Walker ile iletişime geçin! Son adımda, tema klasörünüzde header.php dosyasını açmanız gerekir. Menü zamanının çoğunun çağrıldığı yer burası. Değilse, adın nerede olduğunu öğrenmek için tema üreticisiyle iletişime geçin. WP_NAV_MENU () işlevini bulun. Sonra Walker parametresini ekleyin: ‘Walker’ => Yeni RC_SCM_WALKER IT! Umarım WordPress menüsüne özel alanlar eklemekten hoşlanırsınız. Artık onay kutuları, açılır, Textareas vb. Seçin gibi diğer alanları eklemek için bu küçük kodu değiştirebilirsiniz … Yorumlar bölümüne yorum eklemekten çekinmeyin. Bir hata bulursanız, düzeltirseniz vb …
Tatlı Özel Menü Eklentileri Bu öğretici uygulamak istiyorsanız, başlamanıza yardımcı olmak için yaptığım “Tatlı Özel Menü eklentisini” indirebilirsiniz. Zevk almak! Eklentiler Al →