Реклама

ајак туториалАЈАКС је изванредна веб технологија која нас је одвела изван једноставног „кликните везу, идите на другу страницу”Структура Интернет 1.0.

АЈАКС, за шта се залаже Асинхрони Јавасцрипт и КСМЛ, омогућава веб локацијама да динамички дохваћају и приказују садржај без да се корисник удаљи од тренутне странице. То доводи до далеко интерактивнијег корисничког искуства и може убрзати ствари јер није потребно учитати потпуно нову веб страницу. Срећом, коришћење АЈАКС-а је прилично лако направити из ВордПресс окружења, а данас ћу вам показати како.

Овај Ајак-ов уџбеник треба сматрати прилично напредним и наставља се од последњег времена где смо сазнали како се користе прилагођене табеле база података Рад са табелама прилагођених база података у ВордПресс-уБрзо скенирање странице Бест оф ВордПресс Плугинс откриће неке од многих јединствених и нишних начина на које можете отежати свој блог. Шта ако већ имате базу података о ... Опширније из ВордПресс предлошка - у мом примеру је коришћена једноставна табела података о клијентима. Када је реч о уметању ствари назад у базу података, искористићемо малу АЈАКС магију у програму ВордПресс.

instagram viewer

Сав код у данашњем водичу стога ће се односити на оно што смо писали прошли пут, али ако само тражите како да урадите АЈАКС у ВордПресс-у, то је подједнако важно.

Зашто користити АЈАКС?

Најчешћа употреба АЈАКС-а односи се на обрасце - проверавање да ли се користи корисничко име или пуњење остатка форме различитим питањима у зависности од одређеног одговора који дате. У основи, АЈАКС користите кад год желите догађај (попут корисника да нешто кликне или упише нешто) везан за на страни сервера радња која се дешава у позадина.

Користићемо га за додавање нових уноса у нашу важну прилагођену табелу базе података клијената, али вероватно можете смислити нешто узбудљивије.

Преглед како се користи АЈАКС у ВордПресс-у

  1. Уредите прилагођени предложак тако да укључује образац или ЈаваСцрипт догађај који ће послати податке преко јКуери АЈАКС админ-ајак.пхп укључујући податке о објављивању које желите да пошаљете. Проверите да ли се јКуери учитава.
  2. Дефинишите функцију у теми своје теме фунцтион.пхп; прочитајте променљиве поста и вратите кориснику нешто ако желите.
  3. Додајте АЈАКС акцијска кука за своју функцију.

Стварање обрасца

Започнимо креирањем једноставног обрасца на предњој страни за уношење нових детаља о купцу. Није ништа компликовано, само замените главни део свог прилагођеног предлошка овим кодом који смо започели прошле недеље, тамо где се врши провера ис_усер_логгед_ин ():

иф (ис_усер_логгед_ин ()):?> 




Једино што би вам могло изгледати чудно је да постоји скривено поље уноса које се зове поступак - ово садржи назив функције коју ћемо покренути преко АЈАКС-а.

ајак туториал

ПХП пријемник

Затим отворите фунцтион.пхп и додајте следећи ред да бисте осигурали да се јКуери учитава на вашој веб локацији:

вп_енкуеуе_сцрипт ('јкуери');

Основна структура за писање АЈАКС позива је следећа:

функција миФунцтион () { //учини нешто. умрети(); } додавање ('вп_ајак_миФунцтион', 'миФунцтион'); додавање ('вп_ајак_ноприв_миФунцтион', 'миФунцтион');

Последња два ретка су акцијске куке које говоре ВордПрессу „Имам функцију која се зове миФунцтион, и желим да је послушате јер ће се то позивати преко АЈАКС интерфејса“ - прво је за кориснике на нивоу администратора, док вп_ајак_ноприв_ је за кориснике који нису пријављени. Ево потпуног кода за фунцтион.пхп коју ћемо користити да убацимо податке у нашу посебну табелу купаца, што ћу објаснити укратко:

вп_енкуеуе_сцрипт ('јкуери'); функција аддЦустомер () {глобални $ впдб; $ наме = $ _ПОСТ ['наме']; $ пхоне = $ _ПОСТ ['телефон']; $ емаил = $ _ПОСТ ['емаил']; $ аддресс = $ _ПОСТ ['адреса']; иф ($ впдб-> инсерт ('клијенти', низ) ( 'име' => $ име, 'емаил' => $ емаил, 'адреса' => $ адреса, 'телефон' => $ телефон. )) ФАЛСЕ) {ецхо "Грешка"; } елсе { ецхо "купац". $ наме. "'успешно је додато, ИД реда је". $ впдб-> инсерт_ид; } умрети(); } додавање ('вп_ајак_аддЦустомер', 'аддЦустомер'); додавање ('вп_ајак_ноприв_аддЦустомер', 'аддЦустомер'); // заиста није потребан

Као и раније, декларирали смо глобални $ впдб да нам омогући директан приступ бази података. Тада ћемо зграбити ПОШТА променљиве које садрже податке облика. Функција је окружена ИФ изјавом $ впдб-> убаци, што користимо за убацивање података у нашу табелу. Пошто ВордПресс пружа специфичне функције за уметање редовних постова и мета података, ово је $ впдб-> убаци метода се углавном користи само за прилагођене табеле. Можете прочитајте више о томе на Цодеку, али у основи је потребно да се унесе табела у коју ће следити и низ од парови ступца / вредности.

Тхе ФАЛСЕ провјерава да ли функција уметања није успјела и ако је тако, излази „грешка“. Ако не, ми само шаљемо поруку кориснику Корисник Кс је додати одјекује $ впдб-> инсерт_ид променљива, која означава променљива аутоматског повећања последње операције уметања која се догодила (под претпоставком да сте поставили поље које се аутоматски повећава, попут ИД-а).

Напокон, умрети() ће надјачати подразумевану вредност умрети (0) обезбеђен од стране ВордПресс-а, то није битно као такво, али без њега ћете морати доћи 0 додате на крају свега што пошаљете назад у образац.

Јавасцрипт

Завршни корак је чаробни бит - стварни Јавасцрипт који ће покренути АЈАКС позив. Примијетићете да је у обрасцу који смо раније додали поље акције остало празно. То је зато што ћемо ово надјачати нашим АЈАКС позивом. Општи начин за то би био:

јКуери.ајак ({врста: "ПОСТ", урл: "/вп-админ/админ-ајак.пхп", // подаци наше датотеке за ПХП хандлер: "миДатаСтринг", успех: функција (резултати) {// урадите нешто са враћени подаци})};

То је основна структура АЈАКС позива који ћемо користити, али сигурно није једини начин на који то можете учинити. Можда се питате зашто то мислимо вп-админ овде, иако ће ово бити на предњем делу странице. Овде је само место АЈАКС хандлер пребива, без обзира да ли га користите за предње или администраторске функције - збуњујуће, знам. Налепите следећи код директно у образац за купца:

У првом реду прикључујемо функцију ајакСубмит на образац који смо направили раније - па када корисник кликне да се пошаље, то иде преко наше посебне АЈАКС функције. Без тога, наша форма неће учинити ништа. У нашем ајакСубмит () функција, прво што радимо је да урадимо сериализе () образац. Ово само узима све вредности обрасца и претвара их у један дуги низ који ће наш ПХП парсирати касније. Ако све добро успије, вратићемо враћене податке у ДИВ са идом повратних информација.

То је то. Све сачувајте, освежите и покушајте да пошаљете неке податке обрасца. Ако имате проблема, можете да је прегледате овде се налази пуни код шаблона странице (на основу задане теме двадесет и једанаест), и код који треба додати фунцтион.пхп овде(немојте заменити, само додајте ово на крају).

ајак туториал

Ствари које треба задржати на уму

Сигурност: Овај код није припремљен за производњу и намењен је само учењу. Оставили смо једну кључну тачку, а то је употреба а вп-нонце - једнократни код генерисан од ВордПресс-а који обезбеђује да АЈАКС захтев долази само од места где је био намењен; ако желите. Без тога, вашу функцију можете ефикасно искористити за уметање случајних података. Међутим, напади СКЛ убризгавања нису проблем, јер смо упите преусмерили преко ВордПресс-а $ впдб-> убаци функција - ВордПресс чисти све уносе за вас и чини их сигурним.

Ажурирање табеле купаца: Тренутно шаљемо само потврдну поруку, али таблица купаца се не ажурира - додатне уносе видећете само ако освежите страницу (која врста пораза има сврху све ово преко АЈАКС-а). Погледајте да ли можете да направите нову АЈАКС функцију која може динамички да испостави табелу.

Валидација улаза: будући да се не врши провјера података с подацима обрасца, заправо је могуће додати празна уноса или више уноса ако превише пута притиснете. Било би корисно унос неке потврде у пољима обрасца, након што их очистите, као и СКЛ за проверу е-поште или телефонског броја који не постоји у бази података.

То је то од мене ове недеље - ако имате било каквих проблема да следите овај туториал, слободно се јавите путем коментара и учинит ћу све од себе да вам помогнем; или ако то покушавате прилагодити на неки начин, слободно одбаците идеје од мене. Надам се да ће ово заиста показати колико можете урадити из ВордПресс-а једноставним комбинирањем мало ЈаваСцрипт-а, ПХП-а и МиСКЛ-а. Као и увек, не заборавите да проверите све наше друге Чланци о ВордПресс-у.

Јамес има диплому о вештачкој интелигенцији и сертификат је ЦомпТИА А + и Нетворк +. Он је водећи програмер МакеУсеОф-а и своје слободно време проводи играјући ВР паинтбалл и таблегамес. Градио је рачунаре још од детета.