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
TwentyNineteenから読み解くテーマ作成時のお作法
Search
Koji Kuno
September 07, 2019
Programming
1.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TwentyNineteenから読み解くテーマ作成時のお作法
Koji Kuno
September 07, 2019
More Decks by Koji Kuno
See All by Koji Kuno
unitoneが楽しくなるまでの道のり
oleindesign
0
120
WordPress 6.5 の新機能紹介
oleindesign
0
170
How to deal with WordPress themes in the future
oleindesign
0
1.8k
WordPress(再)入門 - 運用・学習編
oleindesign
0
260
WordPress(再)入門 - カスタマイズ編
oleindesign
0
290
WordPress(再)入門 - コンテンツ作成方法編
oleindesign
0
250
WordPress(再)入門 - テーマ・プラグイン編 / introduction-to-wordpress-again-theme-plugin
oleindesign
0
260
WordPress(再)入門 - 基本設定編 / introduction-to-wordpress-again-basic-settings
oleindesign
0
540
WordPress(再)入門 - 基礎知識・環境編
oleindesign
2
1.1k
Other Decks in Programming
See All in Programming
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
480
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
150
Java 27新機能 / Java 27 new features
kishida
2
120
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
180
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
450
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
190
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
120
iOSDC2026登壇資料.pdf
riofujimon
0
140
業務時間外もAIに働いてもらう話
colorful12
3
10k
Building an Out-of-Order CPU
latte72
1
770
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
6.7k
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
130
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
KATA
mclloyd
PRO
35
15k
Skip the Path - Find Your Career Trail
mkilby
1
230
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Mind Mapping
helmedeiros
1
360
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Why Our Code Smells
bkeepers
PRO
340
58k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.9k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Transcript
5XFOUZ/JOFUFFO͔ΒಡΈղ͘ ςʔϚ࡞࣌ͷ͓࡞๏ ݄ʢʣ ΈΜͳͷ͗;ϝσΟΞίεϞε͓ͲΔελδΦ 0MFJO%FTJHOٱߊ࢘
ࣗݾհ w ϑϦʔϥϯε8FC੍࡞ऀˏذෞࢢ w (JGV8PSE1SFTT.FFUVQڞಉΦʔΨφΠβʔ w $PEFS%PKPذෞνϟϯϐΦϯ w άϥϑΟοΫσβΠϯग़ɺ8FCؔ࿈ձࣾ Ͱͷۈྺͳ͠
w 8FCಠֶ8PSE1SFTTྺҎ্ w PMFJOEFTJHODPO!0MFJO@KQ w Շ༷͕࡛ۄʹ୯ෝதʹ͖ͭՈࣄҭࣇଟ Ίͷੜ׆ IUUQTQSPpMFTXPSEQSFTTPSHPMFJO
8PSE1SFTTͷެࣜςʔϚΛಡΈղ͍ͯ ࣮ࡍʢۀʣͷςʔϚ੍࡞ʹཱͯΒΕΔ ࡞๏Λհ͠·͢ɻ ˞ͤΔ͕෯͗͢ΔͨΊɺΑΓৄ͘͠Γ͍ͨํΞϯΧϯϑΝϨϯεΛ׆༻͍ͯͩ͘͠͞ɻ
ΞδΣϯμ w ςʔϚ։ൃͷڥʹ͍ͭͯ w ࠓͷͷཧղɾ׆༻ʹඞཁͳࣝ w 5XFOUZ/JOFUFFOͷ෦ϑΝΠϧ w GVODUJPOTQIQΛಡΈղ͘ w
CPEZ@DMBTT w QPTU@DMBTT w ςʔϚΛ࡞Δʹ͋ͨͬͯͷཧతͳߟ͑ํ
֬ೝڥ w ϩʔΧϧ։ൃڥʢ-PDBMCZqZXIFFMʣ w 8PSE1SFTT w 1)1 w .Z42- IUUQTMPDBMCZqZXIFFMDPN
ϓϥάΠϯ w 4IPX$VSSFOU5FNQMBUF w ද͍ࣔͯ͠ΔϖʔδʹͲΜͳϑΝΠ ϧ͕ಡΈࠐ·Ε͍ͯΔ͔Λ֬ೝͰ͖ Δ w 8PSE1SFTT։ൃʢಛʹςʔϚ։ൃʣͰ ඞध
IUUQTKBXPSEQSFTTPSHQMVHJOTTIPXDVSSFOUUFNQMBUF
ςʔϚϢχοτςετ ͍ͬͯ·͔͢ʁ w ߘݻఆϖʔδͷμϛʔσʔλ͕ఏڙ͞Ε͍ͯΔ w ༷ʑͳঢ়گΛఆͨ͠σʔλ w දࣔΛ֬ೝͯ͠ରԠ͕Ͱ͖Δ IUUQTXQEPDTPTEOKQςʔϚϢχοτςετ
ඞཁͳࣄલࣝ w )5.- w $44 w +BWB4DSJQU w 1)1 BOENPSFZPVOFFE
Θ͔Βͳ͍͜ͱஏ͔͍ͣ͜͠ͱͰͳ͍ɻ ͨͩɺௐͣʢֶ΅͏ͱͤͣʣΘ͔Βͳ͍ͱݴͬͯ ͍Δͷஏ͔͍ͣ͜͠ͱͩɻ ,PKJ,VOP
Θ͔Βͳ͍͜ͱௐΑ͏ w )5.-ˠIUUQTEFWFMPQFSNP[JMMBPSHKBEPDT8FC)5.- w $44ˠIUUQTEFWFMPQFSNP[JMMBPSHKBEPDT8FC$44 w +BWB4DSJQUˠIUUQTEFWFMPQFSNP[JMMBPSHKBEPDT8FC +BWB4DSJQU w 1)1ˠIUUQTXXXQIQOFUNBOVBMKB
w 8PSE1SFTTʹؔ͢Δ͜ͱˠIUUQTXQEPDTPTEOKQ
ςʔϚϑΝΠϧҰཡʢલʣ ├ classes/ ├ fonts/ ├ inc/ ├ js/ ├
sass/ ├ template-parts/ ├ 404.php ├ archive.php ├ comments.php ├ footer.php ├ functions.php ##͜Ε͜Ε ├ header.php ├ image.php ├ index.php
ςʔϚϑΝΠϧҰཡʢޙʣ ├ package.json ├ package-lock.json ├ page.php ├ postcss.config.js ├
print.scss ├ print.css ├ readme.txt ├ screenshot.png ├ search.php ├ single.php ├ style.scss ├ style.css ├ style-editor.scss ├ style-editor.css ├ style-editor-customizer.scss ├ style-editor-customizer.css ├ style-rtl.css
GVODUJPOTQIQDPEF DPEFIUUQTHJUIVCDPN8PSE1SFTTUXFOUZOJOFUFFOCMPCNBTUFSGVODUJPOTQIQ
GVODUJPOTQIQͰ͍ͬͯΔ͜ͱ ޙํޓઃఆ༁ϑΝΠϧઃఆࣗಈϑΟʔυϦϯΫઃఆλΠτ ϧλάઃఆαϜωΠϧઃఆΧελϜϝχϡʔઃఆ)5.-༻ ڐՄઃఆΧελϜϩΰઃఆΧελϚΠβʔΟδΣοτ࠶ಡΈ ࠐΈઃఆ(VUFOCFSHσϑΥϧτελΠϧదԠઃఆ(VUFOCFSH෯ ɾશ෯ϘλϯදࣔઃఆΤσΟλʔελΠϧઃఆΤσΟλʔε λΠϧಡΈࠐΈઃఆ(VUFOCFSHϑΥϯταΠζઃఆ(VUFOCFSHΧ ϥʔύϨοτઃఆJGSBNFϨεϙϯγϒରԠઃఆΟδΣοτઃ ఆίϯςϯπ෯ઃఆεΫϦϓτಡΈࠐΈઃఆTLJQMJOLGPDVTpY ઃఆΧελϚΠβʔؔ࿈ઃఆ47(ΞΠίϯ༻ϑΝΠϧઃఆίϝ
ϯτ༻ΥʔΧʔϑΝΠϧઃఆ֤छϑΝΠϧಡΈࠐΈઃఆ
if ( ! function_exists() ) if ( ! function_exists( 'twentynineteen_setup'
) ) : w ެࣜςʔϚͷίʔυΛಡΜͩ͜ͱ͕͋ΔਓͳΒݟͨ͜ͱ͋Δ͔ w ςʔϚͱͯ͠ར༻͞ΕΔ͜ͱ͕͋ΔͳΒඞཁ w Ұൠతͳ੍࡞Ҋ݅Ͱ͋·Γඞཁͳ͍͔͠Εͳ͍͕ɺॻ͘บ Λ͚͓ͭͯ͘ͱྑ͍ IUUQTXXXQIQOFUNBOVBMKBGVODUJPOGVODUJPOFYJTUTQIQ
ࣗಈϑΟʔυϦϯΫ add_theme_support( 'automatic-feed-links' ); w 344ϑΟʔυͷϦϯΫΛࣗಈͰઃஔͯ͘͠ΕΔ ࣗಈϑΟʔυϦϯΫ
λΠτϧλάઃఆ add_theme_support( 'title-tag' ); w ֤ϖʔδͷλΠτϧΛϑϨΩγϒϧʹදࣔͯ͘͠ΕΔ w IPPLΛར༻ͯ͠ΧελϚΠζ͢Δ͜ͱՄೳ ؔϦϑΝϨϯεBEEUIFNFTVQQPSU
αϜωΠϧઃఆ add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( 1568, 9999 ); w ߘɾݻఆϖʔδͰΞΠΩϟονը૾ΛઃఆͰ͖ΔΑ͏ʹ͢Δ
w set_post_thumbnail_size()ͰҙͷαΠζͷը૾Λ༻ҙ ͢Δ͜ͱՄೳ ؔϦϑΝϨϯεTFUQPTUUIVNCOBJMTJ[F ؔϦϑΝϨϯεBEEUIFNFTVQQPSU
ΧελϜϝχϡʔઃఆ register_nav_menus( array( 'menu-1' => __( 'Primary', 'twentynineteen' ), 'footer'
=> __( 'Footer Menu', 'twentynineteen' ), 'social' => __( 'Social Links Menu', 'twentynineteen' ), ) ); w ཧը໘ˠ֎؍ˠϝχϡʔͰϝχϡʔΛ͑ΔΑ͏ʹͳΔ w Ϣʔβʔ͕มߋͰ͖ΔΑ͏ʹͳΔ w σβΠϯ༷ʹΑͬͯΧελϚΠζ͕ඞཁʹͳΔ߹͋Δ <8PSE1SFTT>ΧελϜϝχϡʔػೳͷઃఆͱઃஔͱॻ͖ग़͞ΕΔιʔείʔυΛ͔Γ͘͢հ͠·͢ ؔϦϑΝϨϯεSFHJTUFSOBWNFOVT
)5.-༻ڐՄઃఆ add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', )
); w ݕࡧϑΥʔϜɾίϝϯτϑΥʔϜɾίϝϯτϦετɾΪϟϥ ϦʔɾΩϟϓγϣϯͰ)5.-ϚʔΫΞοϓͷ༷ΛڐՄ ؔϦϑΝϨϯεBEEUIFNFTVQQPSU
(VUFOCFSHσϑΥϧτελΠϧదԠઃఆ add_theme_support( 'wp-block-styles' ); w ͋Β͔͡Ί༻ҙ͞Ε͍ͯΔ(VUFOCFSH༻σϑΥϧτελΠϧΛద Ԡ͢Δ 5IFNF4VQQPSU#MPDL&EJUPS)BOECPPL
(VUFOCFSH෯ɾશ෯Ϙλϯදࣔઃఆ add_theme_support( 'align-wide' ); w $44ରԠผ్ඞཁ 5IFNF4VQQPSU#MPDL&EJUPS)BOECPPL
ΤσΟλʔελΠϧઃఆɾಡΈࠐΈ add_theme_support( 'editor-styles' ); add_editor_style( 'style-editor.css' ); w ฤूը໘Ͱ࣮ࡍͷදࣔΛ֬ೝͰ͖ΔΑ͏ʹ͢ΔͨΊʹඞཁ w
ҙ֎ͱରԠ͠ͳ͍ਓ͕ଟ͍ &EJUPS4UZMF (VUFOCFSHରԠͷͨΊadd_theme_support( 'editor-styles' )ͰվΊͯઃఆ͢Δඞཁ͕͋Γ·͢
(VUFOCFSHϑΥϯταΠζઃఆ add_theme_support( 'editor-font-sizes', array( array( 'name' => __( 'Small', 'twentynineteen'
), 'shortName' => __( 'S', 'twentynineteen' ), 'size' => 19.5, 'slug' => 'small', ), ... ) );
(VUFOCFSHϑΥϯταΠζઃఆ w has-[slug-name]-font-sizeͱ͍͏$44Ϋϥε͕ཁૉʹ༩ ͞ΕΔ w sizeฤूը໘ͰͷσϑΥϧτࢦఆͷΈ w $44༻ҙ͢Δඞཁ͕͋Δ 5IFNF4VQQPSU#MPDL&EJUPS)BOECPPL
(VUFOCFSHΧϥʔύϨοτઃఆ add_theme_support( 'editor-color-palette', array( array( 'name' => __( 'Dark Gray',
'twentynineteen' ), 'slug' => 'dark-gray', 'color' => '#111', ), ... ) );
(VUFOCFSHΧϥʔύϨοτઃఆ w has-text-color has-[slug-name]-colorΫϥε͕༩͞ ΕΔ w $44༻ҙ͢Δඞཁ͕͋Δ 5IFNF4VQQPSU#MPDL&EJUPS)BOECPPL
JGSBNFϨεϙϯγϒରԠઃఆ add_theme_support( 'responsive-embeds' ); w JGSBNFͰૠೖ͞ΕͨͷΛΛҡ࣋ͯ͠ϨεϙϯγϒରԠͤ͞ Δ 5IFNF4VQQPSU#MPDL&EJUPS)BOECPPL
ίϯςϯπ෯ઃఆ $GLOBALS['content_width'] = apply_filters( 'twentynineteen_content_width', 640 ); w ը૾෯ͳͲΛͪ͜ΒͷαΠζʹ߹Θͤͯੜͯ͘͠ΕΔ $POUFOU8JEUI$PEFY
εΫϦϓτಡΈࠐΈઃఆ function twentynineteen_scripts() { wp_enqueue_style( 'twentynineteen-style', get_stylesheet_uri(), array(), wp_get_theme()->get( 'Version'
) ); wp_style_add_data( 'twentynineteen-style', 'rtl', 'replace' ); if ( has_nav_menu( 'menu-1' ) ) { wp_enqueue_script( 'twentynineteen-priority-menu', get_theme_file_uri( '/js/priority-menu.js' ), array(), '1.1', true ); wp_enqueue_script( 'twentynineteen-touch-navigation', get_theme_file_uri( '/js/touch-keyboard-navigation.js' ), array(), '1.1', true ); } wp_enqueue_style( 'twentynineteen-print-style', get_template_directory_uri() . '/print.css', array(), wp_get_theme()->get( 'Version' ), 'print' ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'twentynineteen_scripts' );
ελΠϧಡΈࠐΈઃఆ wp_enqueue_style( 'twentynineteen-style', // ϋϯυϧ໊ get_stylesheet_uri(), // ύε array(), //
ґଘؔ wp_get_theme()->get( 'Version' ) // όʔδϣϯ ); XQFORVFVFTUZMF c'VODUJPOc8PSE1SFTT%FWFMPQFS3FTPVSDFT
+4ಡΈࠐΈઃఆ wp_enqueue_script( 'twentynineteen-priority-menu', // ϋϯυϧ໊ get_theme_file_uri( '/js/priority-menu.js' ), // ύε
array(), // ґଘؔ ex) array( 'jquery' ) '1.1', // όʔδϣϯ true // ϑολʔʹग़ྗ͢Δ߹true ); add_action( 'wp_enqueue_scripts', 'twentynineteen_scripts' ); // wp_enqueue_scripts ʹϑοΫ 1MVHJO"1*"DUJPO3FGFSFODFXQFORVFVFTDSJQUTm8PSE1SFTT$PEFY XQFORVFVFTDSJQU c'VODUJPOc8PSE1SFTT%FWFMPQFS3FTPVSDFT
TLJQMJOLGPDVTpYઃఆ w Ұ෦ͷϒϥβͰɺtabΩʔͰૢ࡞͢Δͱ͖ʹɺinput focusͱvisual focus ͕Ұகͤͣɺskip to content͕͏·͘ಈ࡞͠ͳ͍όάΛमਖ਼͢ΔͨΊͷͷ w 8FCΞΫηγϏϦςΟʹߟྀͨ͠Βར༻͓ͯ͘͠ํ͕·͍͠ʢݸਓతݟղʣ
w ʢͦͦskip to contentΛઃஔ͍ͯ͠ͳ͍ͷଟ͍ʣ <a class="skip-link screen-reader-text" href="#content"> <?php _e( 'Skip to content', 'twentynineteen' ); ?> </a> UXFOUZOJOFUFFOIFBEFSQIQBOEUXFOUZOJOFUFFOTUZMFDTT
body_class() CPEZ@DMBTT c'VODUJPOc8PSE1SFTT%FWFMPQFS3FTPVSDFT
͍ํ <body <?php body_class(); ?>> ྫɿߘৄࡉϖʔδʢsingle.phpʣΛදࣔͨ͠߹ <body class=" post-template-default single
single-post postid-1 single-format-standard wp-embed-responsive singular image-filters-enabled">
ҙΫϥεΛbody_class()͔Βग़ྗ͢Δ body_class('class-name1 class-name2'); PS // if ( is_***() ) ͳͲͰࣗ༝ʹৼΓ͚ΒΕΔ
function add_my_class_names( $classes ) { $classes[] = 'class-name'; return $classes; } add_filter( 'body_class', 'add_my_class_names' );
post_class() QPTU@DMBTT c'VODUJPOc8PSE1SFTT%FWFMPQFS3FTPVSDFT
͍ํ <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> ྫɿߘৄࡉ <article
id="post-1" class="post-1 post type-post status-publish format-standard hentry category-uncategorized entry">
ҙΫϥεΛpost_class()͔Βग़ྗ͢Δ post_class( 'class-name' ); PS $classes = array( 'class-name1', 'class-name2',
'class-name3' ); post_class( $classes ); PSIPPL
डୗͰ81ςʔϚΛ࡞ΔࡍͷྲྀΕʢԶWFSʣ (JU)VCϦϙδτϦ࡞ʢडୗQSJWBUFʣ ςεταʔόʔͰڥΛ༻ҙ ʢར༻͢ΔͱΘ͔͍ͬͯΔͷશͯઃఆͯ͠ɺ"MMJOPOF81.JHSBUJPOͰ ϩʔΧϧʣ ϩʔΧϧ։ൃڥ༻ҙ w
MPDBMCZqZXIFFM w ৗ༻Ξηοτ४උʢৗ༻NJYJOͳͲʣ w ֤ίϯύΠϧઃఆʢQSFQSPTOQNʣ ߏங։࢝ʢϞόΠϧϑΝʔετ'-0$44ʣ
·͍͜͠ͱ৭ʑ w ݻఆϖʔδͷϚʔΫΞοϓpage-[slug-name].phpͰ࡞ Δʁ w ΧελϜ)5.-ϒϩοΫͰهड़͢Δʁ w ΧελϜϒϩοΫͷ੍࡞ඞཁʁ
Λ੍࣋ͬͨ࡞ w 8PSE1SFTTΛ8PSE1SFTTͱͯ͠ར༻͢ΔͨΊʹɺΛ࣋ͬͨઃܭ ͕ඞཁ w ςʔϚςϦτϦʔͱϓϥάΠϯςϦτϦʔͷཧղ w ϑϧϚʔΫΞοϓʢલड़ʣͰϖʔδΛߏஙͯ͠͠·͏͜ͱͷϦεΫ w ΫϥΠΞϯτ͕͘8PSE1SFTTΛར༻Ͱ͖ΔڥΛͰ͖ΔݶΓ༻
ҙ͢Δ ˠࠓ࡞͍ͬͯΔςʔϚ͔ΒΓସ͑ͯΫϥΠΞϯτ͕ࠔΒͳ͍ઃܭ Λʂ
8PSE1SFTTςʔϚʹؔ͢Δօ͞Μͷ ҙݟΛΞϯΧϯϑΝϨϯεͰަ͠ ·͠ΐ͏ʂ
͓ΘΓ