Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WordPress テーマ作成再入門
Search
Toro_Unit (Hiroshi Urabe)
May 20, 2017
Technology
3
1k
WordPress テーマ作成再入門
WordBench 長野 vol.9 での登壇資料です。
Toro_Unit (Hiroshi Urabe)
May 20, 2017
Tweet
Share
More Decks by Toro_Unit (Hiroshi Urabe)
See All by Toro_Unit (Hiroshi Urabe)
ブロックテーマとこれからの WordPress サイト制作 / nishinomiya.dev@2025-12-21
torounit
1
190
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
610
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
420
ブロックテーマでサイトリニューアルした話 / Toro_Unit / 2025.04.12 @ Shinshu WordPress Meetup
torounit
1
270
Cloudflare Meetup Nagano Vol.3
torounit
1
130
僕が考える 「HTML サイトを WordPress にする」話 / 2023-11-05 Kansai WordPress Meetup
torounit
9
7.9k
Cloudflare Pages に入門してみた / 2023-10-14 Cloudflare Meetup Nagano Vol.2
torounit
2
2k
ブロックエディタをゴリゴリに使い倒してサイトを作った話 / Kansai WordPress Meetup 2023 09 23
torounit
15
11k
ブロックエディターカスタマイズことはじめ #wpshinshu / 2023-06-17 Shinshu WordPress Meetup vol.24
torounit
1
440
Other Decks in Technology
See All in Technology
AR Guitar: Expanding Guitar Performance from a Live House to Urban Space
ekito_station
0
150
[Data & AI Summit '25 Fall] AIでデータ活用を進化させる!Google Cloudで作るデータ活用の未来
kirimaru
0
3.7k
AgentCore BrowserとClaude Codeスキルを活用した 『初手AI』を実現する業務自動化AIエージェント基盤
ruzia
7
1.4k
"人"が頑張るAI駆動開発
yokomachi
1
130
AWS運用を効率化する!AWS Organizationsを軸にした一元管理の実践/nikkei-tech-talk-202512
nikkei_engineer_recruiting
0
170
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
150
SQLだけでマイグレーションしたい!
makki_d
0
1.2k
Amazon Connect アップデート! AIエージェントにMCPツールを設定してみた!
ysuzuki
0
130
JEDAI認定プログラム JEDAI Order 2026 エントリーのご案内 / JEDAI Order 2026 Entry
databricksjapan
0
180
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
200
LayerX QA Night#1
koyaman2
0
250
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
320
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
230
Automating Front-end Workflow
addyosmani
1371
200k
Heart Work Chapter 1 - Part 1
lfama
PRO
3
35k
Exploring anti-patterns in Rails
aemeredith
2
200
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
850
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
340
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
2
2.8k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
680
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Transcript
WordPress ςʔϚ࡞࠶ೖ Toro_Unit / 2017.05.20 @ WBNagano vol.9 1
Toro_Unit ෦ ߛ (͏Β ͻΖ͠) • দຊࢢࡏॅ 10 • ϑϦʔϥϯε
• Frontend Engineer / Plugin Developer / Web Designer • WordBench ϞσϨʔλʔ Github: @torounit Twitter: @Toro_Unit Facebook: fb.me/torounit Blog: https://torounit.com 2
Plugins Developer • Custom Post Type Permalinks • Active install:
80,000 + • Downloads: 380,000 + • Simple Post Type Permalinks • Powerful Posts Per Page • Responsive Slide • etc... 3
Theme Developer Vanilla 4
Other Contribution • 4.3 ~ 4.5, 4.7 ίΞߩݙऀ • WordCamp
Kansai 2016 / Tokyo 2016 ࣮ߦҕһ • WordCamp Kansai 2017 ηογϣϯνʔϜ Ϧʔμʔ • Speaker • WordCamp Kansai 2015, 2016 / Tokyo 2015, 2016 • WordBench Tokyo • WordBench Osaka • etc... 5
ςʔϚ࡞ͬͨ͜ͱ͋Δਓ! 6
WordPressͷਪ͍ͯ͠ΔςʔϚͷ࡞ ΓํΛͬͯΔਓ! 7
ʮผʹಈ͍ͯΔ͔Βྑ͘ͳ͍ʁʯ 8
ʮ͍ʁ(Җѹ)ʯ 9
ਪ͞Εͳ͍࡞ΓํΛ͍ͯ͠Δͱɾɾɾ • ϓϥάΠϯ͕ͳΜ͔มͳಈ͖͢Δɾɾɾɻ • ຊͷ௨Γʹ࡞ͬͨͷʹ͏͔͝ͳ͍ɾɾɾɻ • ϦχϡʔΞϧΊͪΌͪ͘Ό͍ͨΜɾɾɾɻ • ηΩϡϦςΟϗʔϧʹͳͬͨΓɾɾɾɻ 10
͋ΔϓϥάΠϯ࡞ऀͷ 11
ඇਪͷ࡞Γํͯ͠ΔςʔϚͰͷςετɺͯ͠ͳ͍͠ɺͰ͖ ͳ͍͠ɺ͢Δؾͳ͍ɻ ͍ͬͯ͏͔Ͳ͏ͬͯςετ͢Ε͍͍ͷΑʁ 12
ʮΑ͘Βͳ͍͚ͲɺͱΓ͋͑ͣಈ͍ͯΔ͔Βɾɾɾʯ ΄ΜͱʹͦΕͰେৎʁ 13
ςʔϚͷ࡞ΓํΛ͓͞Β͍ɻ 14
1. ςϯϓϨʔτͷछྨ 15
σϑΥϧτςʔϚ Twenty Seventeen ΛݟͯΈΑ͏ɻ 16
͙͑ͬ 17
େৎɻ 18
ςʔϚͷ࠷খߏ • index.php • style.css ͜Ε͚ͩʂ 19
͡Ό͊ͳΜͰ͋Μͳʹɾɾɾ 20
ͱ͍͏Θ͚ͰςϯϓϨʔτͷΈΛ͓͞Β͍͠·͠ΐ͏ɻ 21
1-1 ςϯϓϨʔτ֊ 22
ςϯϓϨʔτ֊ͱʁ WordPressͷςϯϓϨʔτ͕બ͞ΕΔΈɻ ݱࡏදࣔ͞Ε͍ͯΔϖʔδͷঢ়ଶʹ߹ΘͤͯςϯϓϨʔτ͕ݕ ࡧ͞ΕΔɻ 23
24
ྫ1 ΧςΰϦʔ ID:2, εϥοά: news ͷ߹ɻ 1. category-news.php 2. category-2.php
3. category.php 4. archive.php 5. index.php ͷॱʹςϯϓϨʔτ͕ݕࡧ͞Εɺݟ͔ͭͬͨͷ͕ద༻͞ΕΔɻ 25
ྫ2 ϒϩάߘͷ߹ɻ 1. single-post.php 2. single.php 3. singular.php 4. index.php
ͷॱʹςϯϓϨʔτ͕ݕࡧ͞Εɺݟ͔ͭͬͨͷ͕ద༻͞Ε Δɻ 26
ৄ͘͠ɺςϯϓϨʔτ֊ - WordPress Codex ຊޠ ൛ WordPress Codex: WordPress ͷΦϯϥΠϯ
υΩϡϝϯτɺWiki. 27
1-2 ςϯϓϨʔτϞδϡʔϧ 28
ڞ௨෦ΛผͷςϯϓϨʔτʹग़དྷΔɻ • header.php : get_header() • footer.php : get_footer() •
sidebar.php :get_sidebar() • searchform.php : get_search_form() • comments.php : comments_template() 29
get_template_part() ΦϦδφϧͷςϯϓϨʔτΛݺͼग़͢ɻ ྫ • get_template_part('template-parts/hoge'); template-parts/hoge.php Λݺͼग़͢ɻ • get_template_part('template-parts/hoge', 'piyo');
template-parts/hoge-piyo.php Λݺͼग़͢ɻ 30
ͷ࠷খߏ • index.php • single.php • page.php • header.php •
footer.php ͔͜͜Βద֦ٓு͍ͯ͘͠ɻ 31
2. CSS ͱ JS ͷಡΈࠐΈ 32
Α͋͘Δτϥϒϧ • ʮͳΜ͔jQuery͕2ճݺͼग़͞ΕͯΔɾɾɾɾʯ 33
͜͏ͯ͠·ͤΜʁ <head> <link href="<?php echo get_stylesheet_uri(); ?>"> <link href="<?php echo
get_template_directory_uri() . '/common.css'; ?>> <?php wp_head();?> </head> <script src="jquery.js"></script> <?php wp_footer();?> </body> • wphead, wpfooter ςʔϚʹඞͣೖΕΔౕɻ 34
ਪ͞ΕΔΓํ header.php <head> <?php wp_head();?> </head> footer.php <?php wp_footer();?> </body>
35
functions.php function my_enqueue_scripts() { //include css wp_enqueue_style( 'my-style', get_stylesheet_uri() );
wp_enqueue_style( 'my-common', get_template_directory_uri() . '/common.css', array( 'my-style' ), '1.0.0' ); //include js wp_enqueue_script( 'my-scripts', get_template_directory_uri() . '/scripts.js', array( 'jquery' ), '1.0.0', true ); } add_action( 'wp_enqueue_scripts', 'my_enqueue_scripts' ); 36
wp_enqueue_style ɺwp_enqueue_script Λ͏ͱ WordPress͕ྑ͍ײ͡ʹ CSS Λ JS ಡΈࠐΜͰ͘ΕΔɻ jQuery, underscore,
Backbone.js, masonry WordPress ʹଂ͞Ε͍ͯΔɻ ؔϦϑΝϨϯε/wp enqueue script - WordPress Codex ຊޠ൛ 37
3. σʔλͷແԽ αχλΠζ / Τεέʔϓ 38
͋Γ͕ͪͳϠόΠίʔυ <?php //ΧελϜϑΟʔϧυͷΛऔಘ $hoge = get_post_meta( get_the_ID(), 'hoge', ture );
?> <!-- class ଐੑΛՃ --> <h1 class="<?php echo $hoge;?>"></h1> 39
͠ΧελϜϑΟʔϧυʹෆਖ਼ͳσʔλ͕ೖͬͯΔͱ... ྫ͑ɺ">͜Μʹͪ͜Μʹͪ!! Έ͍ͨͳจࣈྻɻ <h1 class="">͜Μʹͪ͜Μʹͪ!!"></h1> 40
41
͍ʂ 42
ݟ͕ͨյΕΔ͚ͩͳΒ·ͩ͠ෆਖ਼ͳJSͱ͔ΛຒΊࠐ·ΕΔ ڪΕ.... • Ϣʔβʔ͕มͳίʔυΛίϐϖͨ͠߹ɻ • WordPressͷύεϫʔυ͕ྲྀग़߹ɻ • etc... ͍ΘΏΔ XSSͷ੬ऑੑ
43
ਖ਼͘͠σʔλͷແԽΛ͠Α͏ɻ <?php $hoge = get_post_meta( get_the_ID(), 'hoge', ture );?> <div
class="<?php echo esc_attr( $hoge );?>"></div> ෆਖ਼ͳσʔλ͕ೖͬͯେৎɻ <h1 class="">͜Μʹͪ͜Μʹͪ!!"></h1> 44
WordPressʹ༻ҙ͞Ε͍ͯΔαχλΠζͷؔ • esc_html: ௨ৗͷςΩετ • esc_attr: HTMLଐੑ • esc_url: URL/ϝʔϧΞυϨεͳͲ
• esc_textarea: textareaཁૉ • esc_js: ΠϯϥΠϯJS • wp_kses: ಛఆͷHTMLλάΛڐՄ͢Δ߹ 45
4. ϓϥάΠϯςϦτϦʔ 46
• ΞΫηεղੳ • ࠂίʔυ • γΣΞϘλϯ • ΧελϜߘλΠϓ/λΫιϊϛʔ • SEOपΓͷ͍Ζ͍Ζɾɾɾ
47
αΠτΛϦχϡʔΞϧͨ͠Β͖͑ͨ!!! 48
·͍ͣʂ 49
ςʔϚΛม͑Δͱ͍Ζ͍Ζಈ͔ͳ͘ͳΔ… 50
·͍ͣ!!! 51
ςʔϚςϦτϦʔ WEBαΠτͷݟͨɻ ϓϥάΠϯςϦτϦʔ WEBαΠτͷػೳɻ -> ػೳϓϥάΠϯͰʂ 52
ϓϥάΠϯͷ࡞Γํɾɾɾʁ • wckansai2016/plugin-hands-on 53
ϊϯϓϩάϥϚʔͷͨΊͷWordPressϓϥάΠϯ࡞ೖ https://www.slideshare.net/mignonstyle/make-wordpress-plugin 54
αΠτͷ֦ுੑΛඈ༂తʹߴ ΊΔ WordPressϓϥάΠϯ ։ൃͷόΠϒϧ 55
5. ςʔϚͷݕূ 56
ςʔϚνΣοΫϓϥάΠϯ Theme Check — WordPress Plugins 57
58
ߦّͷѱ͍ςʔϚ 59
60
ͪͳΈʹ • WordPressͷཧը໘͔ΒμϯϩʔυͰ͖ΔςʔϚ (ެࣜσ ΟϨΫτϦ ܝࡌςʔϚ)શͯ͜ͷςετ͕௨ͬͯΔɻ • ྑ͘ղΒͳ͍ςʔϚΛ͏͘Β͍ͳΒɺެࣜσΟϨΫτϦ͔ ΒςʔϚΛ୳ͦ͏ɻ 61
6.υΩϡϝϯτ 62
Theme Developer Handbook • ӳޠ͚ͩͲͦ͜·Ͱ͜͠ͱॻ͍ ͯͳ͍ͷͰҙ֎ʹಡΊΔɻ 63
WordPress Codex ຊޠ൛ • ςϯϓϨʔτλάͷ༷ͳͲ͜͜ Ͱ֬ೝɻ 64
_s • WordPress.com ͷӡӦݩͷ Automattic ͕։ൃ͍ͯ͠Δϕʔες ʔϚɻ͜ΕΛϕʔεʹCSSΛՃɺ HTMLΛฤूͯ͠ςʔϚΛ࡞Δͱ͍͏ ํ๏͋Δɻ 65
τϥϒϧ͕ى͖Δલʹਖ਼͍ࣝ͠Λɻ ϓϩάϥϛϯάʹࣗ৴͕ແ͍ͳΒɺͳ͓͞Βɺ͜͏͍ͬͨͷʹै͏͖ɻ 66
ͦͯ͠ 67
WordPress ίϛϡχςΟͷࡒ࢈Λ׆༻͠Α͏ɻ ͜Ε͕ WordPressͷҰ൪ͷڧΈɻ 68
ࠔͬͨΒϑΥʔϥϜͰ࣭ͯ͠ΈΑ͏ɻ • https://ja.wordpress.org/support/ • WordPress ͷެࣜͷαϙʔτϑΥʔ ϥϜɻ • ͪΌΜͱ࣭͢Δͱ݁ߏղ͕ͭ ͘ɻ
• ϑΥʔϥϜΛݕࡧ͢Δͱ͕͑͋ͬ ͨΓ͢Δ͜ͱΑ͋͘Δɻ 69
tips • titleλάΛςʔϚʹॻ͘ͷඇਪʹɻ add_theme_support('title-tag') Λ͍·͠ΐ͏ɻ • ࠷ۙ get_theme_file_uri ͱݴ͏͕ؔՃ͞Εͨɻ •
ςʔϚΧελϚΠβʔ • etc... ·ͩ·ͩԞ͕ਂ͍ɻ 70
more...? 71
ΤϯδχΞͷͨΊͷ WordPress։ൃೖ 72
ϊϯϓϩάϥϚʔͷͨΊͷWordPress ςʔϚ࡞εςοϓΞοϓज़ https://www.slideshare.net/ mignonstyle/wordpress-stepuptips 73
and.. Let's Join WordBench! wordbench.org 74
and... 75
76
WordCamp Kyoto 2017 • 06/24, 25 • ژେֶ ࠃࡍՊֶΠϊϕʔγϣϯ౩ WordCamp
is... ੈքத֤ͰߦΘΕ͍ͯΔ WordPress ͷΧϯϑΝϨϯεɻຊͰ Ұ൪େ͖͍WordPressͷΠϕϯτɻࠓژͱ౦ژʹͯ։࠵ɻ 77
78
͓ΘΓɻ Thanks! Github: @torounit Twitter: @Toro_Unit Facebook: fb.me/torounit WEB Site:
https://torounit.com 79