Шорткодтардың ашық айтылмайтын мәселесі

Авторы:

бөлімінде

The-Unspoken-Problem-of-Shortcodes

Қысқа кодтар (shortcodes) – WordPress-тің ең маңызды жетістіктерінің бірі. Қысқа кодтар әзірлеушілер мен сайт жасаушылар арасындағы көпір болып табылады, бұл адамдарға күрделі контент бөліктерін өздері қалаған кез келген жерге дерлік орналастыруға мүмкіндік береді. Плагин жасаушылар қысқа кодтарды жақсы көреді, өйткені бұл олардың пайдаланушыларына контентті қалай және қайда көрсетуге болатынына көбірек икемділік береді.

Егер сіз қысқа кодтардың не екенін және олардың қалай көрінетінін білмесеңіз, олар төртбұрышты жақшаға алынған көне код тәрізді мәтіндер болып табылады. Олар шамамен мынадай көрінеді:

Бұл нақты код embed қысқа коды деп аталады және әдепкі бойынша WordPress-ке кірістірілген. Бұл код URL мекенжайындағы бейнені контентіңізге ендіреді. Егер оны сынап көргіңіз келсе, жоғарыдағы қысқа кодты көшіріп, сайтыңызға қойыңыз.

Шымылдықтың артында мынадай жайт орын алады: WordPress контентіңізде қысқа кодты кездестіргенде, ол өңделіп, басқа нәрсеге айналады. Біздің жоғарыдағы жағдайымызда, әрбір

қысқа коды анықталған сайын, WordPress қысқа кодтағы URL мекенжайын алып, оны өзінде бар бірқатар контент провайдерлерімен тексереді. Біреуін тапқан кезде, ол тиісті iframe ендіру кодын алады және оның орнына соны көрсетеді.

Сонымен мұнда қандай мәселе бар? Бұл оңай сияқты естіледі, сіз жай ғана жақшалары бар қысқа мәтінді енгізесіз және бәрі дайын.

Shortcode API-мен танысыңыз..

Қысқа кодтардың көптігі

Shortcode API әзірлеушілерге қысқа кодтарды жасауға мүмкіндік ашады. Осының арқасында әзірлеушілер өздерінің плагиндерінің ішіне жеке қысқа кодтарын қоса алады.

Бұл өте жақсы, енді код тәрізді қысқа үзіндімен (сондықтан да «shortcode» деп аталады), жаңадан бастаушылар да, тәжірибелі пайдаланушылар да кез келген контент түрін кез келген жерге дерлік орналастыра алады.

Әдепкі бойынша WordPress-те қысқа кодтардың бірнешеуі ғана бар. Олар аз болғандықтан, жатқа теру оңай. Бірақ егер сіз бірнеше плагин орнатсаңыз, қысқа кодтардың саны тез арада ондаған немесе одан да көпке, ал кейбір жағдайларда жүзден асаға дейін өседі. Әрбір қысқа кодтың өз атрибуттар жиынтығы және оларды қалай пайдалану керектігі туралы нұсқаулары бар. Әрбір плагинде барлық қысқа кодтарының қалай жұмыс істейтіні туралы құжаттама болуы және әрқайсысында қолжетімді параметрлер тізімі берілуі әбден мүмкін. Бірақ барлық қысқа кодтарды және олардың атрибуттарын жаттап алуға тырыссаңыз, есіңізден танасыз.

Мәселе мынада: сайтыңызда қолжетімді барлық қысқа кодтарды және оларды қалай пайдалану керектігін білуге болатын орталықтандырылған орын жоқ.

Кейбіреулер мәселені шешуге тырысады

Кейбір плагиндер барлық жеке қысқа кодтарын оңай қолжетімді ашылмалы тізімде ұсыну арқылы бұл мәселені шешуге тырысады. Содан кейін біреуін басқанда, ол үшін барлық мүмкін атрибуттарымен толық қысқа код көрсетіледі. Оны бұдан былай жаттаудың қажеті жоқ, бұл жақсы нәрсе.

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

Кейбіреулер одан да әрі барып, қысқа кодтың атрибуттарын толтыру үшін жалаушалары (checkbox) мен түс таңдауыштары бар параметрлердің қалқымалы терезесін қосады.

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

Бұл шешім белгілі бір деңгейде жұмыс істейді. Дегенмен, әрбір плагин тек өзінің қысқа кодтарын ғана тізімдейді. Сондықтан, егер әрбір плагин қысқа кодты таңдаудың өзіндік формасын жасайтын болса, экранда бірнеше қысқа код таңдауыш пайда болатын кездерге тап боласыз (бұл менде бұрын болған).

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

Басқаша айтқанда, әрбір плагин өз білгенін істейді және өз қысқа кодтары үшін жеке шешімін қолданады. Кейбір плагиндер «Медиа қосу» батырмасының қасына жаңа батырма немесе TinyMCE ішіне жаңасын қосады.

Енді сіз: «Неге басқа плагиндердің де қысқа кодтарын жинап, оларды ашылмалы тізімге / қысқа код таңдауышқа қоспайды?» деп ойлауыңыз мүмкін. Дәл осылай мен де ойладым. Бірақ, мұны айту оңай, істеу қиын. Себебін сәлден соң түсіндіремін, бірақ алдымен мінсіз шешімнің қалай көрінетінін қарастырайық.

Мінсіз шешім

Керемет жоспар – бұл сайтыңыздағы барлық қолжетімді қысқа кодтарды жинайтын, содан кейін сізге олардың тізімін көрсететін және барлық атрибуттарды толтыруға көмектесетін плагин жасау болар еді. Және әр жолы жаңа плагин орнатқан сайын, жаңадан енгізілген қысқа кодтардың барлығы сізге бірден ұсынылатын еді.

Оңай қол жеткізу үшін барлық қысқа кодтарыңыз орналастырылатын орталық орынды елестетіп көріңізші. Әрбір қысқа код олардың не істейтінін және қай плагинге тиесілі екенін сипаттайтын болады. Содан кейін әрбір қолжетімді атрибут үшін, олардың әрқайсысында белгі, олар үшін мәнді таңдаудың тиісті тәсілі және сипаттамасы болатынын елестетіңіз. Сізге ашылмалы тізімдер, түс таңдауыштар, радио батырмалар, ауыстырғыштар және т.б. көрсетіледі.

Осындай нәрсе біздің веб-сайт пен контент жасаушылар ретіндегі өмірімізді жеңілдететін еді. Өзіңіз пайдаланғыңыз келетін слайдер үшін жасалған қысқа кодты көшіріп алу мақсатында әртүрлі құжаттамаларды немесе басқару тақтасының әртүрлі бөліктерін тексерудің қажеті болмайтын еді.

Ескерту

Өкінішке қарай, қазіргі уақытта мұндай нәрсені жасау өте қиын. Қысқа кодтың барлық мәліметтерін білудің нақты кепілдендірілген тәсілі жоқ. Сіз барлық қысқа кодтардың тізімін ала аласыз, бірақ олардың тек нақты тегтерін/атауларын ғана аласыз, олар туралы атрибуттар тізімі, олар не істейтіні және олардың түрлері – мысалы, жол, түс немесе сан сияқты қосымша мәліметтерді ала алмайсыз. Сондай-ақ әрбір атрибут үшін шамалы болса да сипаттама ала алмайсыз.

Әзірлеушілердің назарына: иә, shortcode_atts функциясы үшін жаңадан қосылған үшінші аргумент бар, бірақ бұл міндетті аргумент емес. Сондықтан әлемдегі әрбір плагин әзірлеушісі оны енгізбейінше, бізде қысқа кодтың барлық атрибуттарын анықтаудың сенімді жолы болмайды.

Shortcode API қысқа код сипаттамаларын, атрибут түрлерін сәйкестендіруді немесе атрибут сипаттамаларын қосу үшін ешқандай мүмкіндік бермейді. Және WordPress-тің өзі қысқа кодтарға қол жеткізудің орталық аймағын қоспаса, бұл мүмкіндік жасалады деп ойламаймын.

Қорытынды

Қазіргі уақытта қысқа кодтарды реттеу міндеті әрбір әзірлеушінің өзіне қалдырылған. WordPress ішінде орталықтандырылған әдіс жасалмайынша, басқару тақтасында бірнеше «Қысқа код қосу» батырмасын көруді жалғастыра бересіз. Мұндай нәрсені WordPress Core-ға қосу керек пе, жоқ па – бұл өз алдына тағы бір үлкен талқылау тақырыбы.

Балама нұсқа

Бұған басқаша қарайтын бет құрастырушы (page builder) плагиндер бар. Олар қысқа кодтарды бағдарламалық түрде анықтаудың орнына, пайдаланушылар қысқа кодтың әрбір мәліметін қолмен енгізе алатын қысқа код карталарын (shortcode mappers) ұсынады. Аяқталғаннан кейін ол бет құрастырушы ішінде қолжетімді болады. Бұл  жұмыс істегенімен, олар тек сіздің жеке сайтыңызда ғана қолжетімді болады.

Біз, Page Builder Sandwich тобы, осы қысқа код мәселесін шеше алады деген үмітпен жаңа дүние жасап жатырмыз. Біздің жетістіктеріміз туралы хабардар болу үшін төмендегі жаңалықтар бюллетенімізге жазылыңыз.