Географско насочване на Sypex Geo по градове (региони, държави) за WordPress, Craft с WordPress
Географско насочване на Sypex Geo по градове (региони, държави) за WordPress
Причини за създаване
Избор на база
Първата стъпка беше да изберем основа. И това е може би един от най-трудните проблеми. По време на процеса на разработка изпробвах много опции, дори направих CURL заявки към сайтове, които определят местоположението по ip, и ги анализирах. Но всички те бяха неточни, например един московски IP беше определен като Москва, другият - просто България. Също така беше необходимо плъгинът да работи не само с България, но и с Беларус и Украйна. След като опитах куп бази, се спрях на Sypex Geo. Те имат Shareware и безплатни версии на базите данни. Shareware използва REST API и връща данни като xml, json и jsonp. Безплатният може да бъде изтеглен като файл, можете също да изтеглите клас, за да работите с него. Shareware версията е по-точна, но предоставя само 10 000 заявки безплатно. Безплатната версия също е доста точна и се актуализира на сайта.
Функционален
Както вече писах, започнах да правя не с плъгин, а с функция в шаблона. Първоначално мислех само за Shareware версията на базата данни, но броят на безплатните заявки приключи за ден-два. Затова минах на безплатен, използвайки готов клас за работа с базовия файл.
Когато разработвах плъгина, реших да направя избор между локална база данни и REST API. В бъдеще смятам да направя бутон за автоматично обновяване на базата данни.
Също така е възможно да се върнат български и английски имена на градове (държави, региони) от базата данни. В тази връзка направих избор на език. Срещнах също необходимостта да включа списък от няколко града или обратното, за да изключа някои.

Внедряване
НакраткоЩе опиша работата му.
При активирането на плъгина инициираме две опции: вида на базата данни и езика, на който ще въвеждаме имената.
Където идва текущото съдържание. В зависимост от типа база данни се извиква функция за получаване на данните. След това търси специални етикети в шаблона и ги съпоставя с данните за местоположението. Ако данните съвпадат, тогава структурата се заменя със съдържанието от таговете, ако не, се изтрива.
Използване
За да посочите списък с държави:
За да посочите списък с региони:
За да посочите списък с градове:
Ако искате да изберете държави (региони, градове), различни от посочените, използвайте "out":
Пример за използване в шаблон:
Добре дошли в WordPress. Това е първото ви влизане. Редактирайте го или го изтрийте, след което започнете да блогвате! Нашите контакти: [GeoCity in=Minsk]+375295552255[/GeoCity][GeoCity out=Minsk]+375475552255[/GeoCity]
Заключение
Надявам се моята добавка да е полезна на някого. Ако имате въпроси или предложения - пишете. Освен това, ако някой смята, че трябва да използвате друга база данни (геосервиз или нещо друго), предложете, аз ще добавя или вие можете да го добавите сами.