Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
WordPress テーマ作成再入門
Search
Toro_Unit (Hiroshi Urabe)
May 20, 2017
Technology
1.1k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WordPress テーマ作成再入門
WordBench 長野 vol.9 での登壇資料です。
Toro_Unit (Hiroshi Urabe)
May 20, 2017
More Decks by Toro_Unit (Hiroshi Urabe)
See All by Toro_Unit (Hiroshi Urabe)
WordPress のサイト制作について改めて考える Toro_Unit / 2026.07.25 @ Shinshu WordPress Meetup
torounit
0
210
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
850
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
890
ブロックテーマとこれからの WordPress サイト制作 / nishinomiya.dev@2025-12-21
torounit
1
300
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
840
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
960
ブロックテーマでサイトリニューアルした話 / Toro_Unit / 2025.04.12 @ Shinshu WordPress Meetup
torounit
1
380
Cloudflare Meetup Nagano Vol.3
torounit
1
190
僕が考える 「HTML サイトを WordPress にする」話 / 2023-11-05 Kansai WordPress Meetup
torounit
9
8.9k
Other Decks in Technology
See All in Technology
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
0
490
3つのアプローチで目指す チームを強くするAI駆動開発
thkt
0
140
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
440
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.2k
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
420
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
670
Incremental HTTP
kazuho
5
2.1k
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
110
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
320
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
5
5.4k
20260930_Gemma4_Hands-on
tsho
0
240
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
490
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
210
Faster Mobile Websites
deanohume
310
32k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Agile that works and the tools we love
rasmusluckow
331
22k
The SEO Collaboration Effect
kristinabergwall1
1
590
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
460
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
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