$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
functions.phpからプラグインへ
Search
Ippei Sumida
February 26, 2021
Technology
2
880
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
250
みんなでQAしてる話
ippey
0
140
AIで生成したものをAIでチェックしてる話
ippey
0
2.2k
『WordPressコミュニティで学ぶ』OSS貢献の多様性
ippey
0
1.1k
25分で理解する!Symfonyの魅力とその実践的活用法
ippey
1
7.4k
素早いバリュー提供のための DROBEの新戦略
ippey
0
1.4k
Symfony 6.3のおすすめ新機能まとめ
ippey
1
2k
PhpStorm + GitHub Copilotはいいぞ
ippey
0
3k
それぞれの特徴から考えるフレームワーク選び
ippey
1
1.1k
Other Decks in Technology
See All in Technology
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
190
Microsoft Agent 365 を 30 分でなんとなく理解する
skmkzyk
1
490
21st ACRi Webinar - AMD Presentation Slide (Nao Sumikawa)
nao_sumikawa
0
230
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
640
生成AIでテスト設計はどこまでできる? 「テスト粒度」を操るテーラリング術
shota_kusaba
0
320
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
12
4.4k
最近のLinux普段づかいWaylandデスクトップ元年
penguin2716
1
620
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
370
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
4
290
生成AI時代の自動E2Eテスト運用とPlaywright実践知_引持力哉
legalontechnologies
PRO
0
190
HIG学習用スライド
yuukiw00w
0
110
Agentic AI Patterns and Anti-Patterns
glaforge
1
170
Featured
See All Featured
How GitHub (no longer) Works
holman
316
140k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
89
Git: the NoSQL Database
bkeepers
PRO
432
66k
Automating Front-end Workflow
addyosmani
1371
200k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
What's in a price? How to price your products and services
michaelherold
246
12k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
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 ͢Έͩɹ͍͍ͬ