WordPress REST API-ի արագ մեկնարկի ուղեցույց
Բովանդակություն
Վերջին տասնամյակի ընթացքում համացանցը բավականին մեծացել է, և WordPress-ը այդքան փոքր-ինչ հետ է մնացել: Ավելի ու ավելի շատ հավելվածներ են ներմուծվում համացանց JavaScript-ով, և ավելի ու ավելի դինամիկ կայքեր են կառուցվում Python-ի և Ruby-ի նման լեզուներով:
WordPress-ի հիմնական մշակողները և նույնիսկ մի քանի պրոֆեսիոնալ WordPress ծրագրավորողներ զգում են. որ WordPress-ի մեծ կախվածությունը PHP-ից և JavaScript-ի նվազագույն օգտագործումը չափազանց հնացել է: Սա մի բան է, որը պետք է լուծի WordPress REST API-ն:
Սա չի նշանակում, որ WordPress-ը հեռանում է PHP-ից, բայց դա նշանակում է, որ մշակողները պետք է մտածեն JavaScript սովորելու մասին, եթե ցանկանում են օգտվել այս API-ի առավելություններից: առաջարկել:
Ի՞նչ է WordPress REST API-ն:
REST API-ն նոր հասկացություն չէ: Իրականում, Ռոյ Ֆիլդինգը սահմանեց «ներկայացուցչական պետության փոխանցում» տերմինը 2000 թվականին, երբ նա օգտագործեց այն HTTP 1.1 և Uniform Resource Identifiers նախագծելու համար, որոնք ավելի հայտնի են որպես «URI»:
Դուք հավանաբար արդեն գիտեք, որ API-ները ծրագրային հավելվածների կառուցվածքը, որը պարունակում է գործիքների և արձանագրությունների հավաքածուներ, որոնք մշակողները կարող են օգտագործել այդ հավելվածները ստեղծելու համար: REST API-ն նման է նրան, բացառությամբ այն, որ կատարում է իր հարցումները և ստանում է իր պատասխանները HTTP արձանագրության միջոցով:
Կանոնավոր API-ները սովորաբար օգտագործում են PHP, Python և Ruby հավելվածներ ստեղծելու համար: Դուք կարող եք օգտագործել այլ լեզուներ, բայց դրանք ամենատարածվածն են: REST API-ների միջոցովպարզ կայքեր և բլոգեր:
JavaScript-ի ուսուցումը պետք է լինի առաջնահերթություն հենց հիմա, ինչպես արդեն ասվել է, քանի որ սա այն լեզուն է, որով WordPress-ի ստեղծողները ցանկանում են, որ մշակողները ավելի հաճախ ներառեն WordPress նախագծերում:
Դուք նաև պետք է անցնեք WordPress REST API ձեռնարկը, որպեսզի ավելի լավ պատկերացնեք WordPress-ի վերաբերմունքը REST API-ի վերաբերյալ: Using the REST API բաժինը պարունակում է ուղեցույցներ այն մասին, թե ինչպես օգտագործել գլոբալ պարամետրերը, էջադրումը, ներկառուցումը և կապելը և նույնականացումը, որոնք բոլորն այս API-ի հիմնական հասկացություններն են:
Հենց որ բոլորը բավականին լավ պատկերացում կազմեք: Դրանցից դուք կարող եք անցնել «Ընդլայնելով REST API» բաժինը՝ իմանալու, թե ինչպես ընդլայնել API-ն խորությամբ: Դուք ավելին կիմանաք հատուկ վերջնակետեր ավելացնելու մասին, ինչպես նաև կսովորեք, թե ինչպես օգտագործել հատուկ բովանդակության տեսակները և փոփոխել պատասխանները:
HTTP արձանագրության օգտագործումը, հեշտացնում է ծրագրավորման այլ լեզուների օգտագործումը, օրինակ՝ JavaScript-ը:WordPress REST API
Ես արդեն բացատրել եմ, թե ինչպես է WordPress REST API-ն ավելի շատ ավելի մոտեցնում WordPress-ը: որտեղ է մնացած վեբը և ավելի քիչ՝ PHP-ից հեռանալու մասին: Խոսքը ծրագրավորողների համար JSON-ի և JavaScript-ի նման լեզուներ օգտագործելը հեշտացնելու մասին է, որպեսզի WordPress-ը դառնա լիարժեք հարթակ, որը կարող է օգտագործվել ավելին, քան ավանդական կայքերն ու բլոգները կառուցելու համար:
Ահա JSON-ի ներդրման WordPress-ի բացատրությունը: WordPress REST API-ում.
WordPress REST API-ն տրամադրում է API-ի վերջնակետեր WordPress-ի տվյալների տեսակների համար, որոնք թույլ են տալիս ծրագրավորողներին հեռակա կարգով շփվել կայքերի հետ՝ ուղարկելով և ստանալով JSON (JavaScript Object Notation) օբյեկտներ: JSON-ը տվյալների բաց ստանդարտ ձևաչափ է, որը թեթև է և ընթեռնելի, և կարծես թե Objects-ը JavaScript-ում է: այստեղից էլ անվանումը։ Երբ դուք բովանդակություն եք ուղարկում կամ հարցում եք կատարում API-ին, պատասխանը կվերադարձվի JSON-ով: Սա ծրագրավորողներին հնարավորություն է տալիս ստեղծել, կարդալ և թարմացնել WordPress-ի բովանդակությունը հաճախորդի կողմից JavaScript-ից կամ արտաքին հավելվածներից, նույնիսկ նրանցից, որոնք գրված են PHP-ից դուրս լեզուներով:
Այն, ըստ էության, նախատեսված է PHP WordPress-ի միջուկի միջև բացը կամրջելու համար: կառուցված է JavaScript-ի վրա և այսօր օգտագործում են բազմաթիվ վեբ հավելվածներ: WordPress REST API-ի ենթակառուցվածքն ավելացվել է WordPress միջուկին4.4 տարբերակում (կոդային անվանումը «Clifford») 2015 թվականի դեկտեմբերին: Ձեզ անհրաժեշտ էր plugin REST API-ն օգտագործելու համար այն ժամանակ: Այնուամենայնիվ, այս API-ի մնացած մասը, ճշգրիտ բովանդակության վերջնակետերը, ավելացվել են WordPress-ի միջուկին 4.7 տարբերակում (կոդային անվանումը «Vaughan») 2016 թվականի դեկտեմբերին՝ հերքելով WP REST API հավելվածի անհրաժեշտությունը:
Ինչպես: WordPress REST API-ն աշխատում է
Որպեսզի հասկանաք, թե ինչպես է աշխատում WordPress REST API-ն, դուք պետք է հասկանաք, թե ինչպես են աշխատում HTTP հարցումները և պատասխանները: Երբ բրաուզերի հասցեագոտում URL եք մուտքագրում, դա հարցում է: Երբ սերվերը ցուցադրում է վեբկայքը կամ հավելվածը այդ URL-ի համար, դա պատասխան է:
Դուք կտեսնեք մի քանի տարբեր տեսակի հարցումներ կամ «HTTP մեթոդներ», երբ սկսեք օգտագործել WordPress REST API-ը: Ահա HTTP մեթոդների չորս հիմնական տեսակները, որոնք օգտագործում է համացանցը.
- GET – Օգտագործվում է սերվերից տվյալներ ստանալու համար
- POST – Օգտագործվում է սերվերին տվյալներ ուղարկելու համար
- PUT – Օգտագործվում է սերվերի տվյալները փոխելու կամ թարմացնելու համար
- DELETE – Օգտագործվում է տվյալները հեռացնելու համար սերվերը
Հաշվի առնելով այդ պարզ սահմանումները, բրաուզերում URL մուտքագրելը GET հարցում է: Կայքում ձեր մուտքի տվյալները մուտքագրելը POST հարցում է: Ընթացիկ գաղտնաբառը նորով փոխելը PUT հարցում է, իսկ հաշիվը դադարեցնելը՝ ՋՆՋԵԼ:
Լրացուցիչ պայմանները, որոնք դուք նկատում եք, «երթուղիներ» և «վերջնակետեր» են: Երթուղին սովորաբար URL-ն է կամURL-ի մի մասը, որին փորձում եք մուտք գործել, մինչդեռ վերջնակետը սովորաբար պատասխանն է, որը դուք ստանում եք սերվերից:
Երբ արտաքին աղբյուրները HTTP հարցումներ են ուղարկում ձեր WordPress կայքը հոսթինգի սերվերին, REST API-ն բացահայտում է ձեր տվյալները: ապահով կերպով՝ պատասխանելով այդ հարցումներին ընդհանուր ճարտարապետությամբ և իր սեփական արձանագրությունների փաթեթով:
Սա թույլ է տալիս WordPress-ի բովանդակությունը, ինչպիսիք են գրառումները, էջերը և մեկնաբանությունները, մշակվել որպես չմշակված տվյալներ: Մենք մեկ րոպեից կտեսնենք սրա մասին: Սրա ընդհանուր նպատակն է թույլ տալ ձեզ փոփոխություններ կատարել ձեր կայքի բովանդակության մեջ՝ առանց WordPress-ի ադմինիստրատորի տարածք մուտք գործելու: Ահա թե ինչպես կարող եք փոփոխություններ կատարել ձեր կայքում՝ օգտագործելով JSON-ը, որի պատասխանները ծրագրավորողներին տալիս են իրենց կայքերի հետ շփվելու մի շարք տարբեր եղանակներ:
Եկեք մի փոքր կեղտոտենք՝ տեսնելու, թե ինչպես է այս ամենը աշխատում:
Օգտագործելով WordPress REST API-ը
Մենք պատրաստվում ենք հասկանալ, թե ինչպես կարելի է իրականում օգտագործել WordPress REST API-ն, բայց, ցավոք, կան մի քանի հիմնական հասկացություններ, որոնք պետք է նախ քննարկենք: այնպես որ ամեն ինչ իմաստ ունի: Ահա այս API-ն կազմող հիմնական հասկացությունները.
- Երթուղիներ & Վերջնական կետեր
- Հարցեր
- Պատասխաններ
- Սխեմա
- Կարգավորիչի դասեր
Եկեք հասնենք դրան:
Երթուղիներ & AMP; Վերջնակետեր
Երթուղու տեխնիկական սահմանումը URL է, որը կարելի է քարտեզագրել տարբեր HTTP մեթոդների միջոցով: Երթուղու և HTTP մեթոդի միջև քարտեզագրումը կոչվում է an«վերջնական կետ». Դուք կարող եք մուտք գործել WordPress REST API և տեսնել, թե որ երթուղիներն ու վերջնակետերը հասանելի են ձեր կայքի համար՝ ավելացնելով «/wp-json/» երթուղին ձեր URL-ի վերջում:
Դա կարող եք տեսնել WordPress.org կայքում: այցելելով //www.wordpress.org/wp-json/:
Տեղադրեք JSON Viewer կոչվող ընդլայնումը Chrome-ի համար (JSON դիտիչը Firefox-ի համար հասանելի է այստեղ)՝ այս խառնաշփոթը մաքրելու համար.
Եթե դուք չեք օգտագործում գեղեցիկ մշտական հղումներ, օգտագործեք «?rest_route=»-ը «wp-json»-ի փոխարեն: Ամեն դեպքում, այն, ինչ տեսնում եք այստեղ, երթուղու և վերջնակետի օրինակ է: «/wp-json/» և «/?rest_route=/» երթուղիներ են: Նրանք թույլ են տալիս մուտք գործել WordPress REST API GET HTTP մեթոդի միջոցով: WordPress REST API-ն, որը ցուցադրվում է ձեզ, կամ տվյալները, եթե ցանկանում եք, վերջնակետ է, որը մեզ մատուցվում է JSON պատասխանի միջոցով:
Հարցումներ
WordPress REST API-ն մշակում է հարցումները WP_REST_Request անունով դասի հետ: . Դա առաջնային դաս է WordPress REST API ենթակառուցվածքում: Այն օգտագործվում է ձեր կատարած բոլոր հարցումների համար տեղեկությունները պահելու և առբերելու համար:
Դուք կարող եք հարցումներ ուղարկել հեռակա կարգով՝ օգտագործելով մեր կողմից օգտագործված HTTP մեթոդները, կամ կարող եք դրանք կատարել ներքին կարգով, ինչպես սովորաբար դա անում եք PHP-ի միջոցով:
4>Պատասխաններ
Պատասխանները մշակվում են WP_REST_Response դասի միջոցով: Պատասխանը այն տվյալներն են, որոնք դուք ստանում եք հարցումից, ինչպես ասվել է նախկինում: API-ն օգտագործում է այս դասը՝ վերջնակետերից ուղարկված տվյալները վերադարձնելու համար: Այն կարող է նաև վերադառնալսխալներ:
Schema
Schema-ն WordPress REST API-ի ներսում հասկացություն է, որը ծառայում է տարբեր նպատակների: API սխեման սահմանում է տվյալների կառուցվածքները, որոնք կարող են օգտագործել վերջնակետերը, և այն պարունակում է այն հատկությունների ցանկը, որոնք կարող է վերադարձնել WordPress REST API-ն: Այն նաև պարունակում է այն պարամետրերը, որոնք API-ն կարող է ընդունել և ապահովում է դրա անվտանգությունը՝ վավերացնելով API-ի ստացած հարցումները:
Controller Classes
WordPress REST API-ն գրանցում է երթուղիները և վերջնակետերը, մշակում հարցումները, օգտագործում Schema: սահմանելու տվյալներն ու հատկությունները, որոնք նա կարող է օգտագործել, և այդ ամենից բացի առաջացնում է API-ի պատասխաններ: API-ին և ձեզ՝ որպես մշակողի, պետք է միջոց՝ կառավարելու այս բոլոր շարժվող մասերը: Հենց դրա համար են վերահսկիչի դասերը: Դրանք թույլ են տալիս հավաքել այս բոլոր տարրերը և կազմակերպել դրանք մեկ տեղում:
Օգտագործելով WordPress REST API-ն՝ ձեր բովանդակությունը վերջնակետերի միջոցով մուտք գործելու համար
Երթուղին այն URL-ն է, որը դուք օգտագործում եք՝ մուտք գործելու համար վերջնակետը, իսկ վերջնակետը սերվերից ստացած պատասխանն է: Եթե ցանկանում եք ստանալ ձեր կայքի գրառումները WordPress REST API-ի միջոցով, օգտագործեք «/wp/v2/posts/» երթուղին: WordPress-ը բացատրում է, որ «/wp-json/»-ը ներառված չէ այս ավելի երկար երթուղիներում, քանի որ դա «հիմնական ուղին է հենց API-ի համար»: Վերջնական URL-ն է «example.com/wp-json/wp/v2/posts»:
Եթե ցանկանում եք մուտք գործել որոշակի հաղորդագրություն API-ի միջոցով, պարզապես ավելացրեք գրառման ID-ն URL-ի վերջում, որպեսզի այն կարծես այսպիսին է.«example.com/wp-json/wp/v2/posts/123»
Եթե ցանկանում եք որոնել հաղորդագրություններ, որոնք օգտագործում են որոշակի արտահայտություն կամ հիմնաբառ, օգտագործեք այս երթուղին. «/wp/v2/posts? =որոնում[ տեղադրեք հիմնաբառը այստեղ ]», ուստի URL-ն ունի հետևյալ տեսքը. 1>
Եթե ցանկանում եք մուտք գործել որոշակի օգտվողի պրոֆիլ API-ի միջոցով, ավելացրեք «/users/» երթուղին, ինչպես նաև այդ օգտվողի օգտատիրոջ ID-ն: URL-ն ունի հետևյալ տեսքը՝ «example.com/wp-json/wp/v2/users/2»: Նմանապես, եթե ցանկանում եք մուտք գործել կայքի օգտատերերին, թողեք ID-ն, որպեսզի URL-ն այսպիսի տեսք ունենա. .
REST API-ի ընդլայնում
Մենք պատրաստվում ենք բաց թողնել մի քանի քայլ և սովորել, թե ինչպես օգտագործել REST API-ի հատկությունները՝ այն ընդլայնելու համար: Նախքան դա անելը դուք պետք է իմանաք այնպիսի բաների մասին, ինչպիսիք են գլոբալ պարամետրերը, էջադրումը, կապակցումը և ներկառուցումը, ինչպես նաև նույնականացումը, սակայն մենք պատրաստվում ենք առաջ անցնել այս արագ մեկնարկի ուղեցույցի նպատակների համար:
Ահա մի քանի բան, որ կարող եք: կատարեք՝ ընդլայնելով REST API-ը.
Տես նաեւ: Ինչպես վաճառել տիրույթի անուն. Սկսնակների ուղեցույց- Ավելացրեք հատուկ վերջնակետեր
- Ստեղծեք երթուղիներ հատուկ հաղորդագրությունների տեսակների և հատուկ դասակարգումների համար
- Փոփոխեք պատասխանները
Եթե դուք փորձառու ծրագրավորող եք, հավանաբար արդեն ծանոթ եք այն հասկացություններին, որոնք անհրաժեշտ են REST API-ին հատուկ վերջնակետ ավելացնելու համար: Պարզապես պետք է սովորել, թե ինչպես կապել երկուսը:
Դուք կսկսեք ստեղծելով գործառույթդա կարող է լինել պարզ կամ բարդ՝ կախված այն ֆունկցիոնալության բարդությունից, որը դուք փորձում եք ավելացնել REST API-ին: Ահա այն պարզ գործառույթը, որն ապահովում է WordPress-ն իր ձեռնարկում, մի գործառույթ, որը նախատեսված է հեղինակի կողմից ձեր կայքի վերջին գրառումների վերնագրերը գրավելու համար.
$data['id'], ) ); if ( empty( $posts ) ) { return null; } return $posts[0]->post_title; }
Դրանից հետո դուք պետք է գրանցեք երթուղի` այս գործառույթը հասանելի դարձնելու համար API՝ օգտագործելով մեկ այլ ֆունկցիա, որը կոչվում է register_rest_route: Ահա այն ֆունկցիան, որն օգտագործում է WordPress-ը նախորդ ֆունկցիայի երթուղին գրանցելու համար.
Տես նաեւ: SE վարկանիշի վերանայում 2023. Ձեր ամբողջական SEO գործիքակազմը'GET', 'callback' => 'my_awesome_func', ) ); } );
Այստեղ մի քանի բան է տեղի ունենում: Նախ, այս ֆունկցիայի միջով անցնում են երեք հատկություն. Դրանք են անվանումների տարածքը («myplugin/v1»), երթուղին, որը մենք պետք է գրանցենք («my_wesome_func») և այն տարբերակները, որոնք մենք ցանկանում ենք օգտագործել («author/(?P\d+)»): Register_rest_route ֆունկցիան կանչվում է նաև «rest_api_init» կոչվող հետադարձ կապի ֆունկցիայի վրա: Սա կրճատում է ավելորդ աշխատանքի քանակը, որը կատարվում է, երբ API-ն չի օգտագործվում:
Ինչպես բացատրում է WordPress-ը, այս երթուղին նախատեսված է «/author/{id}»-ի հետ համապատասխանեցնելու համար, որտեղ «{id» }»-ը ամբողջ թիվ է: Սա այն URL-ն է, որը դուք կայցելեիք այս երթուղին օգտագործելու համար – //example.com/wp-json/myplugin/v1/author/(?P\d+) : Այս հատուկ երթուղին օգտագործում է մեկ վերջնակետ, սակայն երթուղիները կարող են ունենալ մի քանի վերջնակետեր: Դուք կարող եք տեսնել, որ մենք նաև սահմանել ենք HTTP մեթոդը, որը կօգտագործի այս վերջնակետը:
Այլ հասկացություններ, որոնք ձեզ անհրաժեշտ կլինեն
Կան մի քանիսըլրացուցիչ հասկացություններ, որոնք դուք պետք է սովորեք, եթե ցանկանում եք ընդլայնել REST API-ն, պայմանով, որ դուք արդեն ծանոթ չեք դրանց: Մենք օգտագործել ենք անվանատարածք վերևի ֆունկցիայի մեջ, այդ իսկ պատճառով վերևի URL-ի առաջին մասը «myplugin/v1» է։ Դրանք օգտագործվում են որպես նախածանցներ՝ հատուկ երթուղիների հետ բախումները կանխելու համար:
Փաստարկները ևս մեկ հասկացություն են, որոնց դուք պետք է ծանոթ լինեք, քանի որ դրանք թույլ են տալիս ախտահանել և վավերացնել՝ գրանցելով դրանք երթուղիներ գրանցելիս: Դուք նաև պետք է ծանոթանաք վերադարձի արժեքներին, քանի որ սա այն է, ինչ դուք կօգտագործեք սերվերից ստացվող պատասխանի տեսակը սահմանելու համար: Դուք նույնիսկ կարող եք դրանք օգտագործել սխալները վերադարձնելու համար, օրինակ՝ 404 սխալ, որը ցուցադրվում է, եթե հեղինակը որևէ գրառում չի հրապարակել:
Հետադարձ զանգերը ևս մեկ հասկացություն են, որոնք դուք պետք է իմանաք, օրինակ՝ գործառույթները, որոնք հայտնի են որպես թույլտվությունների հետ կանչեր, որոնք ստուգում են, թե արդյոք կամ ոչ, օգտատերը ի վիճակի է որևէ գործողություն կատարել նախքան գործառույթը կփորձի իրական հետ կանչել: Վերջապես, ներքին դասերի և վերահսկիչի օրինաչափությունների հետ ծանոթանալը կօգնի ձեզ կառավարել ձեր ստեղծած վերջնակետերի բոլոր ասպեկտները:
Վերջնական մտքեր & ուր գնալ այստեղից
Հասկանալով WordPress REST API-ի հիմնական հասկացությունները և սովորել, թե ինչպես օգտագործել և ընդլայնել այն, կարող է ճնշող լինել, բայց WordPress-ի ստեղծողները բավականին վստահ են, որ դա կլինի CMS-ի ուժը: այն պետք է ավելի շատ աճի իր հնարավորություններից՝ որպես կառուցելու հարթակ