Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
functions.phpからプラグインへ
Search
Ippei Sumida
February 26, 2021
Technology
2
860
functions.phpからプラグインへ
WP ZoomUP 59『はじめてのプラグイン作成』でお話ししたスライドです。
#WordPress #WPZoomUP
Ippei Sumida
February 26, 2021
Tweet
Share
More Decks by Ippei Sumida
See All by Ippei Sumida
DROBEの生成AI活用事例 with AWS
ippey
0
190
みんなでQAしてる話
ippey
0
110
AIで生成したものをAIでチェックしてる話
ippey
0
2.1k
『WordPressコミュニティで学ぶ』OSS貢献の多様性
ippey
0
920
25分で理解する!Symfonyの魅力とその実践的活用法
ippey
1
7.2k
素早いバリュー提供のための DROBEの新戦略
ippey
0
1.4k
Symfony 6.3のおすすめ新機能まとめ
ippey
1
1.9k
PhpStorm + GitHub Copilotはいいぞ
ippey
0
2.7k
それぞれの特徴から考えるフレームワーク選び
ippey
1
1k
Other Decks in Technology
See All in Technology
AIエージェントが書くのなら直接CloudFormationを書かせればいいじゃないですか何故AWS CDKを使う必要があるのさ
watany
18
7k
マルチプロダクト環境におけるSREの役割 / SRE NEXT 2025 lunch session
sugamasao
1
390
shake-upを科学する
rsakata
7
930
OpenTelemetryセマンティック規約の恩恵とMackerel APMにおける活用例 / SRE NEXT 2025
mackerelio
3
1.6k
microCMSではじめるAIライティング
himaratsu
0
120
【LT会登壇資料】TROCCO新コネクタ「スマレジ」を活用した直営店データの分析
kazari0425
1
170
ロールが細分化された組織でSREは何をするか?
tgidgd
1
200
AIの全社活用を推進するための安全なレールを敷いた話
shoheimitani
2
640
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
7.8k
Delegating the chores of authenticating users to Keycloak
ahus1
0
180
関数型プログラミングで 「脳がバグる」を乗り越える
manabeai
2
220
[ JAWS-UG千葉支部 x 彩の国埼玉支部 ]ムダ遣い卒業!FinOpsで始めるAWSコスト最適化の第一歩
sh_fk2
2
150
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Rails Girls Zürich Keynote
gr2m
95
14k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Navigating Team Friction
lara
187
15k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Code Reviewing Like a Champion
maltzj
524
40k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
BBQ
matthewcrist
89
9.7k
Transcript
Ippei Sumida 2020.02.26 functions.php͔ΒϓϥάΠϯ ϓϥάΠϯΛ࡞ͬͯΈΑ͏
ϓϥάΠϯ ςʔϚ functions.php
ϓϥάΠϯ͖ͳΧελϚΠζ ɹɹςʔϚ͖ͳΧελϚΠζ
• จࣈͷ০ • ը૾ͷ০ʢnot Ճʣ • ϨΠΞτͷௐ • ςʔϚݻ༗ͷΧελϜϒϩοΫ •
ςʔϚͷઃఆ • ͦͷςʔϚͷΧελϚΠζ ςʔϚ͖ ςʔϚʹґଘ
• ཧը໘ͷΧελϚΠζ • αΠτઃఆɾػೳͷՃɾมߋ • γϣʔτίʔυ • ΧςΰϦ • ΧελϜϒϩοΫ
• REST API • ڞ௨ͳද੍ࣔޚ • ͦͷαΠτͷΧελϚΠζ ϓϥάΠϯ͖
ϓϥάΠϯ ςʔϚ functions.php ςʔϚʹؔΘΔ͜ͱ αΠτʹؔΘΔ͜ͱ
ϓϥάΠϯ ςʔϚ functions.php ςʔϚʹؔΘΔ͜ͱ αΠτʹؔΘΔ͜ͱ Ͳͬͪʹॻ͍ͯಈ͘
ͳͥϓϥάΠϯͳͷ͔
ςʔϚʹґଘ
ΧελϚΠζ ͠Α͏ʂ
ΧελϚΠζ ͠Α͏ʂ functions.php ࡞ɾमਖ਼ˍΞοϓϩʔυ
ΧελϚΠζ ͠Α͏ʂ functions.php
ΧελϚΠζ ͠Α͏ʂ functions.php ςʔϚA
ςʔϚม͍͑ͨʂ functions.php ςʔϚA
ςʔϚม͍͑ͨʂ functions.php ςʔϚB functions.php ςʔϚA
ςʔϚม͍͑ͨʂ functions.php ςʔϚB functions.php ςʔϚA ΧελϚΠζ͕ফ͑Δʂ
functions.php ίϐʔʂ functions.php ςʔϚB functions.php ίϐʔ
functions.php ίϐʔʂ functions.php ςʔϚB functions.php ίϐʔ ςʔϚBݻ༗ͷΧελϚΠζ͕ ফ͑Δʂ
ΧελϚΠζ ՕॴҠ২ʂ functions.php ςʔϚB functions.php Ҡ২
ΧελϚΠζ ՕॴҠ২ʂ functions.php ςʔϚB functions.php Ҡ২ ΧελϚΠζͨ͠Օॴ͚ͩ Ҡ২Ͱ͖Δࣗ৴͋Δʁ
None
ΧελϚΠζͯ͠ ࡞ͬͨؔ
ςʔϚͷؔΛ ͬͯΔ
ΧελϚΠζ ͠Α͏ʂ plugin.php ࡞ɾमਖ਼ˍΞοϓϩʔυ ϓϥάΠϯC
ΧελϚΠζ ͠Α͏ʂ plugin.php ϓϥΠϯC
ςʔϚม͍͑ͨʂ functions.php ςʔϚB functions.php ςʔϚA plugin.php ϓϥΠϯC αΠτʹӨڹͳ͠
functions.php͔Β ϓϥάΠϯ
ྫɿμογϡϘʔυɹɹ ɹɹΟδΣοτ
wp-content/themes/some-theme/functions.php
ϓϥάΠϯ ςʔϚ functions.php μογϡϘʔυͷΟδΣοτςʔϚ͕ มΘͬͯදࣔ͠ଓ͚ΔʰαΠτͷΧελϚΠζʱ ςʔϚʹؔΘΔ͜ͱ αΠτʹؔΘΔ͜ͱ
ͰΉ͔͍ͣ͠ΜͰ͠ΐʁ
ϓϥάΠϯ࡞ɺ࣮͜Μͳʹ؆୯ʂ MajiͰKantan 5εςοϓ 1.ϓϥάΠϯσΟϨΫτϦΛ࡞Δ 2.readme.txtΛࢦఆͷϑΥʔϚοτͰͭ͘Δ 3.[ϓϥάΠϯσΟϨΫτϦ໊].phpʹࢦఆͷϑΥʔϚοτͰίϝϯτΛॻ͘ 4.ίʔυΛॻ͘ •functions.phpͷίʔυΛΧοτˍϖʔετ͢Δ 5.ϓϥάΠϯσΟϨΫτϦΛΞοϓϩʔυ͢Δ •ߋ৽͍ͯ͠ΕɺςʔϚͷfunctions.phpΞοϓϩʔυ͢Δ
1. ϓϥάΠϯσΟϨΫτϦΛ࡞Δ
wp-content plugins dashboard-widget σΟϨΫτϦΛͭ͘Δʂ ऴ ੍࡞ɾஶ࡞ ━━━━━ ⡹⡲⡼
•wp-content/plugins/ ʹ͓Έͷ໊͓લͰ •খจࣈͱϋΠϑϯͱࣈͷΈ߹Θ͕ͤແ •ඞͣҰҙʹͳΔΑ͏ʹʂʂ wp-content plugins dashboard-widget σΟϨΫτϦΛͭ͘Δʂ ิ
2. readme.txtΛͭ͘Δ
ެࣜʹαϯϓϧ͋Δ
3. PHPʹίϝϯτΛॻ͘
wp-content plugins dashboard-widget σΟϨΫτϦͱಉҰ໊ͷPHPϑΝΠϧΛ࡞Δ dashboard-widget.php
࠷ݶ͜Ε͚ͩʂ
ެࣜʹαϯϓϧ͋Δ
4. ίʔυΛॻ͘ લʹ
PHPίʔσΟϯάنΛकΖ͏ʂ WordPressʹίʔσΟϯάنʢ= ॻ͖ํʣ͕͋ΓɺͦΕʹैͬͯ ίʔσΟϯά͢Δඞཁ͕͋Γ·͢ɻॻ͖ํ͕౷Ұ͞ΕͨίʔυՄಡ ੑ͕ൈ܈ʹ্͕Γ·͢ɻʢ※ 3ϲ݄લͷࣗଞਓʣ ίʔσΟϯάنHTML, CSS, JavaScript, PHP͝ͱʹܾ·͍ͬͯ·
͢ɻެࣜͷυΩϡϝϯτʹهड़ํ๏͕ެ։͞Ε͍ͯ·͢ɻ
ؓٳ ※ ݸਓͷײͰ͢
ϑϨʔϜϫʔΫ ίʔσΟϯάن Laravel PSR-2 Symfony PSR-12 (PSR-2ͷ֦ு) ϕʔε CakePHP PSR-2
Yii PSR-2 ओཁPHPϑϨʔϜϫʔΫͷίʔσΟϯάن
PSR PHP Standard Recommendation
PHP-FIG PHP Framework Interoperability Group
PHPʹؔ͢Δʰ͓࡞๏ʱΛܾΊ͍ͯΔάϧʔϓ https://www.php- fi g.org
࠷ۙͷPHP΄ͱΜͲɺ PSR-2͔PSR-12
WordPressʁ
ಠࣗ
None
None
ͳΜͰʁ
ؓٳ͓ΘΓ
4. ίʔυΛॻ͘
wp-content/themes/some-theme/functions.php
wp-content/themes/some-theme/functions.php ʘ Χοτ! ʗ
wp-content/plugins/dashboard-widget/dashboard-widget.php
ʘ ϖʔετ! ʗ wp-content/plugins/dashboard-widget/dashboard-widget.php
ऴ ੍࡞ɾஶ࡞ ━━━━━ ⡹⡲⡼
ิ
wp-content/plugins/tutorial-widget/tutorial-widget.php ҰҙʹͳΔΑ͏ʹʂ ※಄ࣙʹϓϥάΠϯ໊ೖΕΔͱΑ͍ ※Ϋϥεͷϝιου໊ͷͧ͘
5. Ξοϓϩʔυ͢Δ લʹ
ಈ࡞֬ೝͯ͠Ξοϓϩʔυ͍ͨ͠
wp-env @wordpress/env
WordPress։ൃڥΛ αΫοͱ࡞Δʔͭ Hi!
http://localhost:8888 ID: admin PW: password ΅͘yarnʂ
wp-envͷ͕͜͜ਪ͠ϙΠϯτ • ϩʔΧϧʹnpmʢyarnʣͱDocker͕͋Ε͍͍ • ෳϓϩδΣΫτ͋ͬͯɺผѻ͍Ͱ͖Δ • ʢ࡞࣌ʣৗʹ·ͬ͞Β • ͍ͭͰ͜ΘͤΔ •
Dockerͷϩΰ͔Θ͍͍ • yarn͔Θ͍͍ υϠΝ!
ࣗಈͰΠϯετʔϧࡁΈ ཁΞΫςΟϕʔτ
None
5. Ξοϓϩʔυ͢Δ
wp-content plugins dashboard-widget σΟϨΫτϦΛ·ΔͬͱΞοϓϩʔυʂ dashboard-widget.php
wp-content themes some-theme functions.phpΛίϐϖͯͨ͠ΒςʔϚ functions.php
ཁΞΫςΟϕʔτ
None
ࢀߟɿ΅͘ͳΒ
None
͜͏࡞Δ
͕࣌ؒ͋Εઆ໌
Conclusion • functions.phpʹςʔϚͷΧελϚΠζɺ ϓϥάΠϯʹαΠτͷΧελϚΠζΛهड़͢Δ • ϓϥάΠϯ࡞ʹඞཁͳͷɺͨͬͨͷ5εςοϓ • ίʔσΟϯάنΛकΖ͏ • άϩʔόϧͳͷʹҰҙͳ໊લΛ͚ͭΔ
• wp-envਆɻςʔϚ࡞ʹ͑ΔΑ
֯ా Ұฏ Web Developer Freelance @ippey_s ͢Έͩɹ͍͍ͬ