サンプルのブログURL https://tanshio.net
WP REST APIͰ࣮ࡍͳʹ͕خ͍͠ͷʁWordCamp Kyoto 2017WordCamp Kyoto 2017
View Slide
PROFILESENDAI —୮ᠳଠWebⰋ菙ؿٔ٦ٓٝأWP娖10䎃!tanshioը૾Ҿ༻ݩɿIUUQKPKPGFTDPN͍Β͢ͱ
w813&45"1*ΛΒͳ͍w813&45"1*ΛͬͯΈ͍ͨwαΠτϒϩάͰ͍͍ͨwΞϓϦҎ֎ͷࣄྫΛΓ͍ͨηογϣϯͷର
WP REST APIͬͯͦͦͳʹʁוְֲֲךזך
ABOUTWP REST API ͱɾWP4.7 ͰίΞʹϚʔδ͞ΕͨΑɾσʔλͷऔಘͱૹ৴͕؆୯ʹͳͬͨΑɾURL Ͱػೳ͕มΘΔΑhttp://ja.wp-api.org/
ABOUTWP REST API ͷׂجຊతʹ2ͭر٦ةך《䖤˖ 䫎珲ך《䖤˖ 嗚稊˖ ؕذ؞ٔ٦䞔㜠ך《䖤ر٦ةך鷏⥋˖ 倜鋉ر٦ةך⡲䧭˖ ⚺ח،فٔ؛٦ءّٝה׃ג⢪ֲ㜥さח欽ְ
ࠓͷηογϣϯɺσʔλͷऔಘ͕ϝΠϯͰ͢
࣮ࡍʹͬͯΈΑ͏ʂ
TRYσʔλͷऔಘํ๏81ઃஔॴ/wp-json/wp/v2/~ྫɿIUUQTUBOTIJPOFUXQKTPOXQWQPTUדծUBOTIJPOFUך鎸✲♧鋮《䖤דֹ
ϒϥβͰදࣔͯ͠ΈΑ͏ʂ
!
TRYσʔλͷܗࣜ+40/ͬͱݟ͍ͨ͘͢͠ʜɾσʔλهड़ݴޠɾͨͩͷจࣈྻɾจࣈྻΛղੳ͢ΔࣄʹΑͬͯσʔλʹͳΔ
TRY+40/Λݟ͘͢͠Α͏w $ISPNF⁃ +40/7JFXFS Φεεϝw 'JSFGPY⁃ ࠷ॳ͔ΒೖͬͯΔʂw 4BGBSJ⁃ IUUQTHJUIVCDPNBDSPHFOFTJTKTPOWJFXTBGBSJ
鋅װֻׅז!$ISPNF +40/7JFXFSͷྫ
TRYK2VFSZBKBY \VSMʟ81ͷઃஔॴXQKTPOXQWQPTUT UZQFHFU^EPOF GVODUJPO EBUB\DPOTPMFMPH EBUB^GBJM GVODUJPO EBUB\DPOTPMFMPH EBUB^ͲͷαΠτͰ81ͷઃஔॴҎ֎ڞ௨ʂߘҰཡͷऔಘྫ
خ͍͠ϙΠϯτΛ؆୯ͳαϯϓϧͰհ
SAMPLE 1ΠϯΫϦϝϯλϧαʔν813&45"1*+BWB4DSJQUͰΠϯΫϦϝϯλϧαʔνͷղઆ㴍׃ְه؎ٝز馄知⽃ח嗚稊דֹ歗鼂獳ָזְךדأي٦ؤIUUQTHJTUHJUIVCDPNUBOTIJPBBDCCCECEGE
SAMPLE 2ແݶεΫϩʔϧɺϦετՃػೳ813&45"1*+BWB4DSJQUͰແݶεΫϩʔϧͷղઆخ͍͠ϙΠϯτ+4ͱ"1*ͷػೳ͚ͩͰͰ͖ΔʂςʔϚͱ͔ϖʔδͱ͔1)1ͱ͔͍Βͳ͍ʂQBHFͱQFS@QBHF͕ศརʂIUUQTHJTUHJUIVCDPNUBOTIJPEBEFFCFDFBDCBFD
ͭΒΈϙΠϯτը໘ભҠͯͬͨ͠Βফ͑ͯΔͳͲɺͦ͏͍ͬͨ69Λվળ͠Α͏ͱͨ͠߹ɺ+BWB4DSJQUͷࣝඞཁʹͳΓ·͢
࣮ࡍʹࣄͳͲͰͬͯΈͨʂ
ςʔϚͱͷ͋ΘٕͤλΠϓϚοϓϐϯɺ͘͠ϦετΛΫϦοΫ͢Δͱɺ"1*ͰίϯςϯπΛऔಘ͠ɺϚʔΧʔʹදࣔ͞ΕΔɻخ͍͠ϙΠϯτී௨ʹ)5.-ΛςʔϚʹు͖ग़͢ͱϖʔδ͕ॏ͍͕ɺ"1*ͩͱ͍ܰɻ͍Ζ͍Ζͳ༻్ʹ͑ΔɻͭΒΈϙΠϯτͳ͠CASE 1
ςʔϚͱͷ͋ΘٕͤλΠϓͬͯΔ͜ͱɺߘ*%Λऔಘ͠ɺ"1*ͰίϯςϯπΛݺͼग़͍ͯ͠Δ͚ͩɻCASE 1
CASE 2ͦͷͰฤूɾߘخ͍͠ϙΠϯτͦͷͰαΫαΫฤूͰ͖ΔʂʂͭΒΈϙΠϯτը૾ͷΞοϓϩʔυཧը໘࿈ಈܥͷΧελϜϑΟʔϧυϓϥάΠϯ "$'ͳͲͷ࿈ܞͳͲIUUQTHJUIVCDPN8PSE1SFTTHVUFOCFSH⇡͕ग़ͨ͜ͱʹΑ͓ͬͯޚ໔ʹͳͬͨߘͷݕূʹ1PTUNBO͕͓͢͢ΊͰ͢IUUQTXXXHFUQPTUNBODPN$ISPNF֦ு͋Γ
7VFʴ81ͷ41"ϒϩάخ͍͠ϙΠϯτମײ͔ͳΓ͍ͭΒΈϙΠϯτ4&0ͰਧͬඈͿ .VMUJ%FWJDF4XJUDIFSΛͭͯCPUΛҧ͏ςʔϚʹඈ͢IUUQTKBXPSEQSFTTPSHQMVHJOTNVMUJEFWJDFTXJUDIFS813&45"1*͕όʔδϣϯΞοϓ͢Δͱ٧Ήঢ়ଶཧ͕͍͜ΕΔඞཁ͕͋Δͷ͔ͱΉ813&45"1*Λ༻͍ͨ41"ϒϩάCASE 3
ؤுͬͨͱ͜Ζ͍Βͳ͍ཁૉΛVOTFUͰফͯ͠ߴԽʂٙࢲͷαΠτͰ+40/ΛຒΊࠐΜͰߴԽΛਤ͍ͬͯΔͷͰ͕͢ɺOFX81@3&45@3FRVFTU 81@3&45@3FRVFTUGSPN@VSMͰ@FNCFEͷ༰͕͠Ύͱ͘Ͱ͖͍ͯ·ͤΜʜํ͕ͳ͍ͷͰpMF@HFU@DPOUFOUT Ͱ"1*ʹΞΫηε͍ͯ͠ΔͷͰ͕͢ɺ୭͔ղܾࡦ͕͋ͬͨΒڭ͍͑ͯͩ͘͞ʂ813&45"1*Λ༻͍ͨ41"ϒϩάCASE 3
·ͱΊ
SUMMARY·ͱΊwҙ֎ͱ؆୯ʹ͑Δw༻్༷ʑw81ͰγʔϜϨεͳαΠτΛ࡞͍ͨ͠߹ʹศརʂw69Λߟ͑Δͱ݁ߏେมͳ໘+BWB4DSJQUͷ͕ࣝඞཁʹɻ͜ͷػձʹ+BWB4DSJQUͱྑ͘ͳΖ͏ʂ
·ͣखܰʹ͡ΊͯΈΑ͏ʂ͓ͳ͡ΈϓϥάΠϯ$POUBDU'PSN813&45"1*ΛͬͯΔʂϓϥάΠϯ։ൃͰࠓޙελϯμʔυʹͳΓͦ͏ͳ༧ײʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠