カスタムエンドポイントで学ぶ WP REST APIの真髄

カスタムエンドポイントで学ぶ WP REST APIの真髄

WordBench東京2017/5 @ ランサーズ新しい働き方ラボでの発表です。カスタムエンドポイントはこうやって作るんやでというお話。

148178a88ab033c72cde7aee7f64e0a9?s=128

Takahashi Fumiki

May 15, 2017
Tweet

Transcript

  1. ΧελϜΤϯυϙΠϯτͰֶͿ 813&45"1*ͷਅ਷ 8PSE#FODI౦ژ೥݄ !ϥϯαʔζɹ৽͍͠ಇ͖ํϥϘ

  2. ͓·͑୭ʁ ߴڮจथ খઆՈ݉8FC੍࡞ऀ ʢגʣഁ໓೿୅ද $BQJUBM1 4'૑࡞ߨ࠲ඈߒོ৆ड৆

  3. 3&45"1*)BOECPPL w 3&45"1*)BOECPPLͱ͍͏ ΋ͷ͕͋Γɺͦ͜ʹσϑΥϧ τͷΤϯυϙΠϯτ͕͋Δ w ΧελϜϑΟʔϧυपΓ͸͋ ·Γॆ࣮͍ͯ͠ͳ͍

  4. ͨͱ͑͹ɺʮΞΠΩϟονʯ w XQWQPTUTʹ1045͢Δͱ౤ߘ͕࡞ΕΔͷ͕ͩɺͦͷ ࡍʹGFBUVSFE@NFEJBͱ͢Δͱɺ*%ͷϝσΟΞ͕ ΞΠΩϟονʹͳΔɻ w ͔͠͠ɺը૾ΛΞοϓϩʔυ͢ΔલʹϝσΟΞͷ*%Λ஌Δ ͜ͱ͸Ͱ͖ͳ͍ɻ w ը૾ͷNJNFUZQFΛJNBHFKQFHͱ͔ʹͯ͠XQW

    NFEJBʹ1045͢ΔͱΞοϓϩʔυͰ͖ΔΒ͍͠ɻ
  5. ճ΋ϦΫΤετ͢Δͷʁ

  6. ΅͘͸͜͏ࢥͬͨοε w ΧελϜϑΟʔϧυ͸σϑΥϧτͩͱαϙʔτ͞Ε͍ͯ ͳ͍ɻαϙʔτ͞ΕͯͨΒ·͍ͣʢFY8PP$PNNFSDF ͷܾࡁ৘ใͳͲʣ w ΧελϜ౤ߘλΠϓ΋ͦͷ··Ͱ͸αϙʔτ͞Εͳ͍ɻ w ʮ࣮͸˓˓Ͱ͖Δʯͱ͍͏ΦϓγϣϯΛ஌Δͷ͕ΊΜͲ ㅟ

    ㅟ ㅟ ㅟ ㅟ ͍͘͞ɻ
  7. ઐ༻ͷΤϯυϙΠϯτ Λ࡞ͬͨํ͕؆୯Ͱ͸

  8. ΧελϜํ๏ ΧελϜ౤ߘλΠϓ΍Χελ ϜλΫιϊϛʔΛ3&45"1*ର Ԡʹ͢Δ ϨεϙϯεΛमਖ਼͢Δ ΧελϜΤϯυϙΠϯτΛ௥ Ճ͢Δ

  9. ΧελϜ౤ߘλΠϓˍλΫιϊϛʔ bTIPX@JO@SFTU`USVF

  10. ͸͍ɻ

  11. ϨεϙϯεͷΧελϚΠζ w ௕ͦ͏ʜʜ w 3&45"1*)BOECPPLʹॻ ͍ͯ͋Δ

  12. ͸͍ɻ

  13. ΅͘͸͜͏ࢥͬͨοε w 813&45"1*͕σϑΥϧτͰ৭ʑͱඋ͍͑ͯΔͷ͸Θ ͔ͬͨ͠ɺΧελϚΠζͷํ๏΋ఏڙ͞Ε͍ͯΔ͜ͱ͕ Θ͔Β͕ͬͨɺͦΕΛશ෦֮͑ͨ͘ͳ͍ w ΍Γ͍ͨ͜ͱ͸͔͙ͭͭΒ͍͔͠ͳ͍ w "1*͸ࣗ෼Ͱ࢖͏͚ͩͳͷͰɺͦΜͳʹ৭ʑͰ͖Δඞཁ ͸ͳ͍

  14. None
  15. αʔϏεྫɿ͸Ίͽͬ͘ʂ w /PEF+4Ͱ࡞ͬͨ֎෦αΠτɻ )5.- $44ͷςϯϓϨʔτ Λը૾ʹͯ͘͠ΕΔɻ w 8FCϑΥϯτʹ΋ରԠ͓ͯ͠ Γɺిࢠॻ੶ͷදࢴੜ੒αʔϏ εͱͯ͠͸͡Ίͨɻ

    w ͜ͷදࢴը૾Λ؆୯ʹΞΠΩϟο νͱͯ͠ઃఆͰ͖ΔΑ͏ʹ͢Δɻ
  16. None
  17. "1*ͷઃܭ w IPHFGVHBʹը૾ͷ63-Λ1045͢Δͱɺ౤ ߘ*%ͷهࣄʹΞΠΩϟονͱͯ͠ઃఆ͞ΕΔ w ࡟আ͸8PSE1SFTTଆͰߦ͏ʢ࠷୹ύε͚ͩΛ༻ҙ ͢Δʣ

  18. None
  19. ௕͍ɻεςοϓผʹɻ

  20. εςοϓΤϯυϙΠϯτͷ௥Ճ w ΤϯυϙΠϯτΛ௥Ճ͢ΔɻΤϯυϙΠϯτ͸઀಄ࣙͱ͠ ͯʮ໊લۭؒʯΛ࣋ͭɻ໊લۭؒ͸XQWͱ͔ɺ IBNFUVIBWͱ͔ɺͦ͏͍͏ͷɻ w ਖ਼نදݱΛॻ͘ඞཁ͕͋Δɻ63-ʹؚ·ΕΔ*%ͳͲΛҾ਺ ͱͯ͠ॲཧ͢ΔͨΊʹඞཁɻ w ࠓճ͸IBNFUVIBW໊͕લۭؒͰɺDPWFST<JE>͕ද

    ࢴը૾௥ՃͷΤϯυϙΠϯτɻ
  21. ਖ਼نදݱͷ 1JEaaE Ͱʮ͑ͬʁʯͱࢥͬͨਓ͸ ໊લ෇͖αϒύλʔϯΛࢀরͷ͜ͱɻ

  22. εςοϓϝιουͱݖݶ w (&5 1045 165 %&-&5& 1"5$)ͷͲΕʹ൓ Ԡ͢Δ͔ w ͲΜͳݖݶΛ࣋ͬͨϢʔβʔ͕͜ͷΤϯυϙΠϯτ

    Λ࣮ߦՄೳͳͷ͔
  23. None
  24. εςοϓύϥϝʔλ w ͜ͷΤϯυϙΠϯτʹ౉͢͜ͱ͕Ͱ͖Δύϥϝʔλ Λ഑ྻͰઃఆɻ w ඞਢ߲໨͔൱͔ɺσϑΥϧτͷ஋ɺόϦσʔγϣϯ ͳͲΛઃఆ͢Δ

  25. None
  26. εςοϓίʔϧόοΫ w 81@3&45@3FRVFTUΦϒδΣΫτΛड͚औΔ w 81@&SSPS͔81@3&45@3FTQPOTFΦϒδΣΫτ Λฦ͢

  27. None
  28. None
  29. εςοϓ֬ೝ w ͏·͍͚͘͹XQKTPOҎԼʹ ઃఆ͞ΕΔͷͰɺදࣔ͞ΕΔ w ಈ࡞֬ೝ͸1BXͳͲͷΤϛϡ Ϩʔγϣϯπʔϧ͕͋Δͱศ རʢͨͩ͠ɺOPODFͳͲͷઃ ఆ͕໘౗ʣ

  30. ·ͱΊ w ΧελϜΤϯυϙΠϯτ͸ಛघͳཁ͕݅͋Δͱ͖ʹ༗ޮ w ϓϥάΠϯΛఏڙ͍ͯ͠Δਓ͸ΧελϜΤϯυϙΠϯτ Λఏڙ͢Δͱศར͔΋ w ΧελϜϑΟʔϧυ੡଄ۀͷਓ͸ͳΜΒ͔ͷϓϥάΠϯ ͷొ৔Λ଴ͨΕ͍ͨʢ"$'GPS3&45"1*ͱ͔͋ΔΈ ͍ͨͰ͢ʣ

  31. ؔ࿈৘ใ w چ೔ຊޠυΩϡϝϯτKBXQBQJPSHݱࡏͷ࣮૷ͱ͸ҟͳΔ෦෼΋͋Δ͕ɺΧ ελϚΠζํ๏͸มΘ͍ͬͯͳ͍ɻ w ࣮ࡍʹಈ࡞͢ΔαϯϓϧPO(JUIVC w ΫϥΠΞϯτ࡞੒νϡʔτϦΞϧهࣄ813&45"1*Λར༻ͨ͠/PEF+4ͷ 8FCΞϓϦΛࢮ͵ࢥ͍Ͱ࡞Δ w

    ೝূͷ࢓૊Έʹڵຯͷ͋Δํ͸813&45"1*ͷ0"VUIೝূͷํ๏ͱԿ͕ى ͍ͬͯ͜Δͷ͔ͱͳͥͦΜͳ͜ͱΛ͍ͯ͠Δͷ͔ΛͲ͏ͧɻͨͩ͠ɺ࣮ࡍʹ͸ ͲͷݴޠɾϑϨʔϜϫʔΫʹ΋0"VUIΫϥΠΞϯτϥΠϒϥϦ͙Β͍͸͋Γ· ͢ɻ
  32. ͓·͚ w ϝιουʢ(&5 1045ʣ͝ ͱͷΤϯυϙΠϯτొ࿥͕Ί ΜͲ͘͘͞ͳ͖ͬͯ·͢ɻ w ݁Ռɺ๻͸Φʔτϩʔμʔͷ ΫϥεΛ࡞ͬͯ࢖͍ͬͯ·͢ w

    XQBNFUVͱ͍͏ΦϨΦϨϑ ϨʔϜϫʔΫͷԸܙ
  33. ʲએ఻ʳXQJPOJDUPLZP XQJPOJDUPLZPDPOOQBTTDPN

  34. ʲએ఻ʳ$BQJUBM1ΈͯͶ IUUQTDBJUBMQKQ

  35. ʲએ఻ʳϓϥάΠϯൢച͸͡Ίͨ IUUQTHJBOJTNJOGP

  36. ʲએ఻ʳ8PSE$BNQژ౎ʹग़ΔΑ IUUQTLZPUPXPSEDBNQPSH