Шорткодуудын хэлэгдээгүй асуудал

Нийтэлсэн

–

The-Unspoken-Problem-of-Shortcodes

Шорткод (Shortcode) нь WordPress-ийн хамгийн оргил боломжуудын нэг юм. Шорткод нь хөгжүүлэгчид болон сайт бүтээгчдийн хоорондох гүүр болж, хүмүүст хүссэн бараг бүх газартаа нарийн нийлмэл агуулгыг байрлуулах боломжийг олгодог. Залгаас бүтээгчид хэрэглэгчиддээ агуулгаа хаана, хэрхэн харуулах тал дээр илүү уян хатан байдал олгодог тул шорткодод дуртай байдаг.

Хэрэв та шорткод гэж юу болох, ямар харагддагийг мэдэхгүй бол энэ нь дөрвөлжин хаалтанд хашигдсан, хуучны код шиг бичвэрүүд юм. Тэд ойролцоогоор иймэрхүү харагддаг:

Энэ тодорхой шорткодыг embed гэж нэрлэдэг бөгөөд энэ нь WordPress-д анхнаасаа суурилагдсан байдаг. Энэ нь тухайн URL-аас видеог таны агуулга руу суулгаж өгдөг. Хэрэв та туршиж үзэхийг хүсвэл дээрх шорткодыг хуулж аваад өөрийн сайтдаа буулгахад л хангалттай.

Хөшигний цаана юу болдог вэ гэвэл WordPress таны агуулга дотор шорткодтой таарах үед түүнийг боловсруулан өөр зүйл болгон хувиргадаг. Дээрх бидний жишээн дээр,

шорткод илэрвэл WordPress шорткод дахь URL-ыг авч өөрт байгаа хэд хэдэн контент нийлүүлэгчидтэй харьцуулан шалгадаг. Тохирох нэгийг олмогц тохирох iframe embed кодыг авч, оронд нь түүнийг харуулдаг.

Тэгвэл энд юу нь асуудал болоод байна вэ? Хаалттай богино текст оруулаад л болоо юм шиг, тун амархан сонсогдож байна.

Шорткод API-г танилцуулж байна..

Шорткодын элбэг дэлбэг байдал

Shortcode API нь шорткод үүсгэх боломжийг хөгжүүлэгчдэд нээж өгдөг. Үүний ачаар хөгжүүлэгчид өөрсдийн залгаасууд дотор өөрсдийн гэсэн шорткодуудыг нэмэх боломжтой болсон.

Энэ нь гайхалтай бөгөөд одоо ердөө л богино код шиг хэсгээр (иймээс ч “shortcode” гэж нэрлэсэн) анхан шатныхан болон ахисан түвшний хэрэглэгчдийн аль аль нь хүссэн ямар ч төрлийн агуулгыг хүссэн газартаа байрлуулах боломжтой болсон.

WordPress нь анхдагч тохиргоогоороо цөөн хэдхэн шорткодтой байдаг. Тэдгээрийн тоо цөөн тул цээжээр бичихэд амархан. Гэвч хэрэв та хэд хэдэн залгаас суулгавал шорткодын тоо арав гаруй, зарим тохиолдолд зуу гаруй болж огцом өсдөг. Шорткод бүр өөрийн гэсэн шинж чанарууд болон тэдгээрийг хэрхэн ашиглах заавартай байдаг. Залгаас бүр өөрийн бүх шорткодууд хэрхэн ажилладаг тухай ямар нэгэн баримт бичигтэй байх магадлалтай бөгөөд тэдгээрт байгаа бүх параметрүүдийг жагсаасан байдаг. Гэхдээ та бүх шорткод болон тэдгээрийн шинж чанаруудыг цээжлэх гэж оролдвол галзуурна биз ээ.

Асуудал нь таны сайтад байгаа бүх шорткод болон тэдгээрийг хэрхэн ашиглах талаар олж мэдэх нэгдсэн төвлөрсөн хэсэг байхгүйд оршино.

Зарим нь асуудлыг шийдэх гэж оролддог

Зарим залгаасууд өөрсдийн бүх шорткодыг хялбар хандах боломжтой унждаг цэсэнд харуулж энэ асуудлыг шийдэхийг оролддог. Дараа нь аль нэг дээр нь дарахад боломжит бүх шинж чанаруудын хамт шорткодыг гаргаж ирнэ. Үүнийг цээжлэх шаардлагагүй болсон нь сайн хэрэг.

Screen-Shot-2016-06-22-at-11.27.09-AM

Зарим нь бүр цаашилж, шорткодын шинж чанаруудыг бөглөхийн тулд сонгох нүднүүд болон өнгө сонгогч бүхий тохиргооны попап маягтыг нэмдэг.

Screen-Shot-2016-06-22-at-11.28.54-AM

Энэ шийдэл тодорхой хэмжээнд ажилладаг. Гэсэн хэдий ч залгаас бүр зөвхөн өөрийн шорткодуудыг жагсаадаг. Тиймээс залгаас бүр өөрийн гэсэн шорткод сонгогчийг үүсгэвэл таны дэлгэц дээр олон тооны шорткод сонгогч гарч ирэх үе гарцаагүй тохиолдох болно (Надад ч өмнө нь ийм явдал тохиолдож байсан).

Screen-Shot-2016-06-22-at-11.22.41-AM

Өөрөөр хэлбэл, залгаас бүр өөр өөрийнхөөрөө ажиллаж, өөрийн шорткодуудад зориулан тус тусын шийдлийг хэрэгжүүлдэг. Зарим залгаасууд “Add Media” товчны хажууд шинэ товч нэмдэг бол зарим нь TinyMCE дотор шинийг нэмдэг.

Тэгэхээр та одоо “Бусад залгаасын шорткодуудыг бас цуглуулаад унждаг цэс / шорткод сонгогчдоо оруулаад явчихаж болохгүй гэж үү?” гэж бодож байж магадгүй. Миний бодсон зүйл яг тэр байсан юм. Гэвч үүнийг ярихад амархан ч хийхэд хэцүү. Яагаад гэдгийг би тун удахгүй тайлбарлах болно, харин эхлээд хамгийн тохиромжтой төгс шийдэл ямар харагдахыг авч үзье.

Хамгийн тохиромжтой төгс шийдэл

Төгс төлөвлөгөө нь таны сайт дахь бүх боломжит шорткодуудыг цуглуулж, жагсаалтыг танд үзүүлэн, бүх шинж чанарыг бөглөхөд тусалдаг залгаас бүтээх явдал юм. Мөн шинэ залгаас суулгах болгонд шинээр орж ирсэн бүх шорткодууд танд мөн адил харагдах болно.

Таны бүх шорткодыг хялбар хандах үүднээс төвлөрүүлэн байрлуулсан нэг төв цэгийг төсөөлөөд үз дээ. Шорткод бүр юу хийдэг, аль залгаасанд хамаардгийг тайлбарласан байна. Тэгээд боломжит шинж чанар бүрийн хувьд нэр хаяг, тэдгээрийн утгыг сонгох зөв арга зам, тайлбар зэрэг байна гээд төсөөлөөрэй. Танд унждаг цэс, өнгө сонгогч, радио товчлуур, сэлгүүр гэх мэт бүх зүйл харагдах болно.

Иймэрхүү зүйл нь вэбсайт болон контент бүтээгч бидний амьдралыг хамаагүй хялбар болгох байсан. Ашиглахыг хүссэн слайдерынхаа үүсгэгдсэн шорткодыг хуулж авахын тулд өөр өөр заавар баримтуудыг эсвэл админ хэсгийнхээ өөр өөр булангуудыг шалгах шаардлагагүй болно.

Анхаарах зүйл

Харамсалтай нь, яг одоогоор ийм зүйл хийх нь нэлээд бэрхшээлтэй юм. Шорткодын бүх нарийн ширийн мэдээллийг мэдэх баталгаатай арга байхгүй. Та бүх шорткодын жагсаалтыг авах боломжтой боловч зөвхөн тэдний бодит шошго/нэрийг л авна, шинж чанаруудын жагсаалт, тэдгээр нь юу хийдэг, тэдгээрийн төрөл нь тэмдэгт мөр, өнгө эсвэл тоо эсэх зэрэг нэмэлт мэдээллийг авах боломжгүй. Мөн шинж чанар бүрийн хувьд ямар нэг тайлбар төдий зүйлийг ч авах боломжгүй юм.

Хөгжүүлэгчдэд зориулсан сануулга: тийм ээ, shortcode_atts функцэд шинээр нэмэгдсэн гуравдагч аргумент байгаа хэдий ч энэ нь заавал шаардагдах аргумент биш юм. Тиймээс дэлхий дээрх бүх залгаас хөгжүүлэгчид үүнийг нэвтрүүлэхгүй л бол бидэнд шорткодын бүх шинж чанарыг тодорхойлох найдвартай арга байхгүй хэвээр байх болно.

Shortcode API нь шорткодын тайлбар нэмэх, шинж чанарын төрлийг зааж өгөх эсвэл шинж чанарын тайлбар оруулах ямар ч боломжийг олгодоггүй. Тэгээд WordPress өөрөө шорткодод хандах нэгдсэн хэсгийг нэмэхгүй л бол энэ боломж бий болно гэдэгт би эргэлзэж байна.

Дүгнэлт

Одоогоор шорткодыг цэгцлэх ажил нь хөгжүүлэгч тус бүрийн дур зоргод үлдсэн байна. WordPress дотор нэгдсэн арга барил бий болохгүй бол та өөрийн удирдлагын хэсэгт олон тооны “Add Shortcode” товчлууруудыг үргэлжлүүлэн харсаар байх болно. Ийм зүйлийг WordPress Core-д нэмэх ёстой эсэх нь өөрөө бие даасан томоохон хэлэлцүүлэг юм.

Өөр нэг гарц

Үүнийг өөрөөр шийддэг хуудас бүтээгч залгаасууд байдаг. Тэд шорткодуудыг програмын аргаар илрүүлэхийн оронд хэрэглэгчид шорткодын бүх нарийн мэдээллийг гараар оруулах боломжтой шорткод буулгагчтай байдаг. Үүнийг хийж дуусмагц тухайн хуудас бүтээгч дотор ашиглах боломжтой болдог. Хэдийгээр  энэ нь ажилладаг ч зөвхөн таны өөрийн сайтад л ашиглагдах боломжтой.

Page Builder Sandwich-ийн зүгээс бид энэхүү шорткодын таавар мэт ээдрээтэй асуудлыг шийдэж чадах ямар нэгэн зүйлийг бүтээж байна. Бидний явцын талаар мэдээлэл авч байхын тулд доорх манай товхимолд бүртгүүлээрэй.