
Shortcode’lar WordPress’ning eng muhim yutuqlaridan biridir. Shortcode’lar dasturchilar va sayt yaratuvchilari o’rtasidagi ko’prik bo’lib, odamlarga murakkab kontent qismlarini deyarli istalgan joyga joylashtirish imkonini beradi. Plagin yaratuvchilari shortcode’larni yaxshi ko’radilar, chunki bu ularning foydalanuvchilariga kontentni qanday va qayerda ko’rsatishda ko’proq moslashuvchanlik beradi.
Agar shortcode’lar nima ekanligini va qanday ko’rinishini bilmasangiz, ular kvadrat qavslarga olingan qadimgi kodga o’xshash matnlardir. Ular taxminan quyidagicha ko’rinadi:
Ushbu aniq shortcode embed shortcode deb ataladi va sukut bo’yicha WordPress’ga o’rnatilgan. Ushbu aniq shortcode videoni URL manzilidan kontentingizga joylashtiradi (embed qiladi). Agar uni sinab ko’rmoqchi bo’lsangiz, shunchaki yuqoridagi shortcode’dan nusxa olib, saytingizga joylashtiring.
Parda ortida esa, WordPress kontentingizda shortcode’ga duch kelganda, u qayta ishlanadi va boshqa narsaga aylantiriladi. Bizning yuqoridagi holatimizda, har safar
shortcode’i aniqlanganda, WordPress shortcode ichidagi URL’ni oladi va uni o’zida mavjud bo’lgan bir qator kontent provayderlariga solishtirib tekshiradi. Mos keluvchisini topgach, u tegishli iframe embed kodini oladi va uning o’rniga shuni ko’rsatadi.
Xo’sh, bu yerda muammo nimada? Bu yetarlicha oson tuyuladi: shunchaki qavsli qisqa matn kiritasiz va tamom.
Shortcode API’ga marhamat…
Shortcode’lar to’lib-toshgan
Shortcode API dasturchilarga shortcode’lar yaratish imkoniyatini ochadi. Shu sababli, dasturchilar o’z plaginlari ichiga o’zlarining shaxsiy shortcode’larini qo’shishlari mumkin.
Bu ajoyib, endi shunchaki kodga o’xshash qisqa parchalar bilan (nomi ham shundan — “shortcode”), yangi boshlovchilar ham, tajribali foydalanuvchilar ham deyarli har qanday turdagi kontentni istalgan joyga joylashtirishlari mumkin.
WordPress’da sukut bo’yicha faqat bir nechta shortcode mavjud. Ularni yoddan yozish oson, chunki ular juda oz. Ammo bir nechta plagin o’rnatsangiz, shortcode’lar soni tezda o’nlab yoki undan ko’pga, ba’zi hollarda esa yuzdan ortiqqa yetadi. Har bir shortcode’ning o’z atributlar to’plami va ulardan foydalanish bo’yicha ko’rsatmalari mavjud. Har bir plagin, ehtimol, barcha shortcode’lari qanday ishlashi haqida qandaydir hujjatlarga ega va ularning har birida mavjud bo’lgan barcha parametrlarni sanab o’tadi. Ammo barcha shortcode’lar va ularning atributlarini yodlab olishga urinsangiz, aqldan ozgan bo’lasiz.
Muammo shundaki, saytingizda mavjud bo’lgan barcha shortcode’larni va ulardan qanday foydalanishni bilib olishingiz mumkin bo’lgan yagona markazlashgan joy yo’q.
Ba’zilar muammoni hal qilishga harakat qilishadi
Ba’zi plaginlar bu muammoni barcha o’z shortcode’larini qulay ochiladigan ro’yxatda taqdim etish orqali hal qilishga harakat qilishadi. Keyin ulardan birini bosish shortcode’ni barcha mumkin bo’lgan atributlari bilan birga chiqarib beradi. Endi uni yodlab olishga hojat qolmaydi, bu esa yaxshi narsa.

Ba’zilar undan ham uzoqroqqa borib, shortcode atributlarini to’ldirish uchun checkbox’lar va rang tanlagichlar bo’lgan sozlamalar popup oynasini qo’shadilar.

Bu yechim qaysidir ma’noda ishlaydi. Biroq, har bir plagin faqat o’z shortcode’larini sanab o’tadi. Shuning uchun, agar har bir plagin o’zining shortcode tanlagich shaklini yaratsa, ekranda bir nechta shortcode tanlagichlari paydo bo’ladigan holatlarga duch kelishingiz muqarrar (bu holat ilgari menda ham yuz bergan).

Boshqacha aytganda, har bir plagin o’z bilganicha ish qiladi va o’z shortcode’lari uchun o’z yechimini tatbiq etadi. Ba’zi plaginlar “Add Media” tugmasi yoniga yangi tugma qo’shadi yoki TinyMCE ichiga yangisini joylashtiradi.
Endi siz: “Nega boshqa plaginlarning shortcode’larini ham yig’ib, ularni o’zingizning ochiladigan ro’yxatingizga / shortcode tanlagichingizga qo’shib qo’ya qolmaysiz?” deb o’ylayotgandirsiz. Ha, men ham aynan shunday o’ylagandim. Ammo buni aytish qilishdan osonroq. Nega bundayligini birozdan so’ng tushuntiraman, ammo avval ideal yechim qanday ko’rinishini ko’rib chiqaylik.
Ideal yechim
Eng mukammal reja — saytingizdagi barcha mavjud shortcode’larni to’playdigan, so’ngra sizga ro’yxatni taqdim etadigan va barcha atributlarni to’ldirishga yordam beradigan plagin yaratish bo’lardi. Va har safar yangi plagin o’rnatganingizda, yangi qo’shilgan barcha shortcode’lar ham sizga taqdim etilar edi.
Oson kirish uchun barcha shortcode’laringiz joylashtiriladigan markaziy joyni tasavvur qiling. Har bir shortcode nima qilishini va qaysi plaginga tegishli ekanligini tavsiflab beradi. So’ngra har bir mavjud atribut uchun ularning har birida yorliq, ular uchun qiymat tanlashning qulay usuli va tavsif mavjudligini tasavvur qiling. Sizga ochiladigan ro’yxatlar, rang tanlagichlar, radio tugmalar, almashtirgichlar va boshqa narsalar ko’rsatiladi.
Shunga o’xshash narsa veb-sayt va kontent yaratuvchilari sifatidagi hayotimizni osonlashtiradi. Siz foydalanmoqchi bo’lgan slayder uchun yaratilgan shortcode’dan nusxa olish uchungina turli hujjatlarni yoki admin panelingizning turli bo’limlarini tekshirishga hojat qolmaydi.
Nozik jihat
Afsuski, hozirda bunday narsani qilish ancha qiyin. Shortcode’ning barcha tafsilotlarini bilishning aniq kafolatlangan yo’li yo’q. Siz barcha shortcode’lar ro’yxatini olishingiz mumkin, ammo faqat ularning haqiqiy teglari/nomlarini; ular haqida qo’shimcha tafsilotlarni, masalan, atributlar ro’yxati, ular nima qilishi va ularning turlarini — matn, rang yoki raqam kabilarni ololmaysiz. Shuningdek, har bir atribut uchun hatto taxminiy tavsifni ham ololmaysiz.
Dasturchilar uchun eslatma: ha, shortcode_atts funksiyasi uchun yangi qo’shilgan uchinchi argument bor, lekin u majburiy argument emas. Shunday ekan, butun dunyodagi har bir plagin dasturchisi uni joriy qilmaguncha, bizda shortcode’ning barcha atributlarini aniqlashning kafolatlangan usuli bo’lmaydi.
Shortcode API shortcode tavsiflarini qo’shish, atribut turlarini belgilash yoki atribut tavsiflari uchun hech qanday imkoniyatni taqdim etmaydi. WordPress’ning o’zi shortcode’larga kirish uchun markaziy maydon qo’shmas ekan, bu imkoniyat yaratilishiga shubha qilaman.
Xulosa
Hozirgi vaqtda shortcode’larni tartibga solish vazifasi har bir dasturchining o’ziga havola qilingan. WordPress ichida markaziy usul ishlab chiqilmaguncha, backend’ingizda bir nechta “Add Shortcode” tugmalarini ko’rishda davom etishni kuting. Bunday narsani WordPress Core’ga qo’shish kerakmi yoki yo’qmi — bu o’z-o’zidan yana bir katta muhokama mavzusidir.
Muqobil variant
Buni boshqacha hal qiladigan page builder plaginlari mavjud. Shortcode’larni dasturiy ravishda aniqlash o’rniga, ularda foydalanuvchilar shortcode’ning har bir tafsilotini qo’lda kiritishi mumkin bo’lgan shortcode mapper’lar mavjud. Bajarilgach, u page builder ichida mavjud bo’ladi. Bu ishlasa-da, ular faqat o’zingizning saytingizdagina mavjud bo’ladi.
Biz Page Builder Sandwich jamoasi ushbu shortcode jumboqini hal qila oladigan vositani yaratmoqdamiz. Rivojlanishimizdan xabardor bo’lish uchun quyida axborot byulletenimizga obuna bo’ling.