Мушкилоти ногуфтаи шорткодҳо

Муаллиф

дар

The-Unspoken-Problem-of-Shortcodes

Шорткодҳо яке аз қуллаҳои баланди WordPress мебошанд. Шорткодҳо пули байни таҳиягарон ва эҷодкунандагони сомона буда, ба одамон имкон медиҳанд, ки қисмҳои мураккаби мундариҷаро қариб дар дилхоҳ ҷое, ки мехоҳанд, ҷойгир намоянд. Созандагони плагинҳо шорткодҳоро дӯст медоранд, зеро ин тарзи намоиш ва макони ҷойгиркунии мундариҷаро аз ҷониби корбарон хеле чандир мегардонад.

Агар шумо намедонед, ки шорткодҳо чӣ ҳастанд ва чӣ гуна ба назар мерасанд, онҳо матнҳои ба коди куҳна монанданд, ки дар қавсҳои чоркунҷа гирифта шудаанд. Онҳо тақрибан чунин ба назар мерасанд:

Ин шорткоди мушаххас шорткоди embed номида шуда, ба таври пешфарз дар WordPress ворид шудааст. Ин шорткод видеоро аз нишонии URL мустақиман ба дохили мундариҷаи шумо ҷой медиҳад. Агар хоҳед, ки онро санҷед, танҳо шорткоди болоро нусхабардорӣ карда, дар сомонаи худ гузоред.

Дар паси парда чӣ рух медиҳад: вақте ки WordPress дар мундариҷаи шумо ба шорткод дучор меояд, он коркард шуда, ба чизи дигар табдил меёбад. Дар мисоли болоии мо, ҳар вақте ки шорткоди

муайян карда мешавад, WordPress нишонии URL-ро дар дохили шорткод гирифта, онро бо як қатор таъминкунандагони мундариҷа, ки дорад, месанҷад. Вақте ки якеро пайдо мекунад, он гоҳ коди мувофиқи ҷойгиркунии iframe-ро гирифта, ба ҷои он намоиш медиҳад.

Пас мушкил дар чист? Ин хеле осон ба назар мерасад: шумо танҳо як матни кӯтоҳро бо қавсҳо ворид мекунед ва тамом.

Биёед ба Shortcode API назар афканем…

Фаровонии шорткодҳо

Shortcode API имконияти эҷоди шорткодҳоро барои таҳиягарон мекушояд. Ба шарофати ин, таҳиягарон метавонанд шорткодҳои хоси худро ба дохили плагинҳояшон илова кунанд.

Ин хеле хуб аст, акнун танҳо бо як пораи кӯтоҳи кодмонанд (аз ҳамин сабаб номаш «шорткод» аст), ҳам корбарони навкор ва ҳам пешрафта метавонанд қариб ҳама гуна мундариҷаро дар дилхоҳ ҷо ҷойгир кунанд.

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 илова карда шавад ё не, ин худ баҳси хеле бузурги алоҳида аст.

Роҳи алтернативӣ

Плагинҳои саҳифасоз (page builder) мавҷуданд, ки ин масъаларо ба тарзи дигар ҳал мекунанд. Ба ҷои ошкор кардани барномавии шорткодҳо, онҳо харитасозони шорткод (shortcode mappers) доранд, ки дар он корбарон метавонанд ҳар як ҷузъиёти шорткодро ба таври дастӣ ворид кунанд. Пас аз анҷоми ин, он дар дохили саҳифасоз дастрас мегардад. Гарчанде ки  ин кор мекунад, аммо онҳо танҳо дар худи сомонаи шумо дастрасанд.

Мо дар Page Builder Sandwich чизеро эҷод карда истодаем, ки умедворем ин муаммои шорткодҳоро ҳал карда тавонад. Ба паёмномаи мо дар поён обуна шавед, то аз пешрафти кори мо огоҳ бошед.