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
クライアントワークのオリジナルテーマ制作
Search
Masahiro NAKASHIMA
November 02, 2019
Programming
1
600
クライアントワークのオリジナルテーマ制作
WordCamp Tokyo 2019 セッション。「クライアントワークのオリジナルテーマ制作 〜実務でのWebサイト構築の抑えどころ〜」の資料です。
Masahiro NAKASHIMA
November 02, 2019
Tweet
Share
More Decks by Masahiro NAKASHIMA
See All by Masahiro NAKASHIMA
コロナの時代の WEBサービス 〜WordPressで実現するプラグインや機能の実装〜
kanakogi
0
480
ページビルダーツールを使った「コードを書かない」サイト制作
kanakogi
1
210
Other Decks in Programming
See All in Programming
subpath importsで始めるモック生活
10tera
0
300
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
110
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.1k
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
210
[Do iOS '24] Ship your app on a Friday...and enjoy your weekend!
polpielladev
0
100
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
1.9k
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
役立つログに取り組もう
irof
28
9.6k
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
イベント駆動で成長して委員会
happymana
1
320
Featured
See All Featured
Music & Morning Musume
bryan
46
6.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Producing Creativity
orderedlist
PRO
341
39k
Unsuck your backbone
ammeep
668
57k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Agile that works and the tools we love
rasmusluckow
327
21k
Visualization
eitanlees
145
15k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Why Our Code Smells
bkeepers
PRO
334
57k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Transcript
None
Profile தౡਅ༸ʢφΧγϚϚαώϩʣ ผ໊ϖϯΪϯ 5XJUUFS!LBOBLPHJ 8&#ܥΤϯδχΞɾσβΠφʔ ۠ӋͱϛϟϯϚʔͰࣄ
Profile 8PSE1SFTT ࣄͷݱͰαοͱ͑ΔσβΠϯڭՊॻ ग़൛ٕज़ධࣾ )5.-$44શେࣄయ ग़൛ٕज़ධࣾ
Profile • WP CSV Exporter • WP Theme Test •
Adjust Admin Categories • WP Taxonomy Import • Check Copy ContentsʢCCCʣ ...߹ܭ11ϓϥάΠϯ
Profile ΠϚίί 2005 2019 ϑϦʔͷ8&#σβΠφʔ .PWBCMF5ZQF 8PSE1SFTT )5.-$44 1)1 +BWB4DSJQU
2012 ࣄͷׂ߹ σβΠϯ ϑϩϯτΤϯυ 1)1 8PSE1SFTTؔ
ͣͬͱ ΫϥΠΞϯτϫʔΫ ͬͯ·͢
͓ͬͯ͘ͱ ݱͰʹཱͭ5*14
ཧόʔͷ ѹతଘࡏײ
Admin Bar Position
ຊ൪αʔόʔͰ ςʔϚΛςετ͍ͨ͠
WP Theme Test
ߘϖʔδͷ ΞʔΧΠϒ͕ͳ͍
WP Post Has Archive
"VUIPSϖʔδͷอޢ
wp-login.php
function author_page_redirect() { if( is_author() ) { wp_redirect( home_url()); exit;
} } add_action( 'template_redirect', 'author_page_redirect' ); functions.php
Yoast SEO
ϒϩοΫΤσΟλʔ
ศརͳػೳ
ϚʔΫμϯ͕͑Δ
ϒϩοΫͷίϐʔ͕Ͱ͖Δ
࠶ར༻ϒϩοΫ
ཧը໘ͱ ελΠϧΛ͋ΘͤΔ
ཧը໘ͱελΠϧΛ͋ΘͤΔ ϑϩϯτ ཧը໘
function my_editor_suport() { add_theme_support( 'editor-styles' ); add_editor_style( 'assets/css/editor-style.css' ); }
add_action( 'after_setup_theme', 'my_editor_suport' ); functions.php
h2 { font-size: 24px; color: #70462E; } strong { color:
#70462E; font-weight: bold; } em { font-style: italic; font-weight: bold; } editor-style.css ←ཁૉηϨΫλͰࢦఆ
.content h2 { font-size: 24px; color: #70462E; } .content strong
{ color: #70462E; font-weight: bold; } .content em { font-style: italic; font-weight: bold; } styles.css singular.php <div class=“content”> <?php the_content() ?> </div>
ཧը໘ͱελΠϧΛ͋ΘͤΔ TUZMFTDTT FEJUPSTUZMFDTT ࣅͨΑ͏ͳهड़͕ॏෳͯ͠͠·͏
TBTTσΟϨΫτϦ DTTσΟϨΫτϦ σΟϨΫτϦߏ TUZMFTDTT FEJUPSTUZMFDTT TUZMFTTDTT FEJUPSTUZMFTDTT @DPOpHTDTT DPNQPOFOUTσΟϨΫτϦ @DPOUFOUTDTT
@IPHFTDTT
@import “_config"; h2 { font-size: 24px; color: #70462E; } strong
{ color: #70462E; font-weight: bold; } em { font-style: italic; font-weight: bold; } editor-style.scss styles.scss @import “_config"; @import "components/_content"; components/ _content.scss .content { @import "../editor-style.scss"; }
σΟϨΫτϦߏ TUZMFTDTT FEJUPSTUZMFTDTT @DPOpHTDTT DPNQPOFOUTσΟϨΫτϦ @DPOUFOUTDTT ཧը໘ʹ༻ʹهड़ @IPHFTDTT classͷதʹimport
ϒϩοΫΛ ΧελϚΠζ
࠷৽هࣄͷߘ
Advanced Posts Blocks
UIFNF UFNQMBUFQBSUT CMPDLT BEWBODFEQPTUTCMPDLT QPTUQIQ σΟϨΫτϦߏ QPTUTQIQ DIJMESFOQIQ ෳߘϒϩοΫɹɹtemplate-parts/blocks/advanced-posts-blocks/posts.php ݸผߘϒϩοΫɹɹtemplate-parts/blocks/advanced-posts-blocks/post.php
ࢠߘϒϩοΫɹɹɹtemplate-parts/blocks/advanced-posts-blocks/children.php
template-parts/blocks/advanced-posts-blocks/posts.php <div class="row"> <?php if ( $query->have_posts() ) : ?>
<?php while ( $query->have_posts() ) : $query->the_post(); ?> <div class="col-md-4"> <article <?php post_class('news'); ?>> <div class="news_pic"> <?php the_post_thumbnail('medium'); ?> </div> <h2><?php the_title(); ?></h2> </article> </div> <?php endwhile; ?> <?php wp_reset_postdata(); ?> <?php endif; ?> </div>
ϒϩοΫΛ࡞Δ
Block Lab
1.blocks/{name}/preview.php 2.blocks/preview-{name}.php 3.blocks/preview.php 4.blocks/{name}/block.php 5.blocks/block-{name}.php 6.blocks/block.php Block Lab ͷςϯϓϨʔτ֊
ϒϩοΫΤσΟλʔ࣌ͷ σβΠϯ
ϒϩοΫΛѲͨ͠ σβΠϯ
ϫʔΫϑϩʔ σβΠϯ )5.- 8PSE1SFTT ϫΠϠʔ ϫΠϠʔ ʢϒϩοΫΤσΟλʔʣ σβΠϯ )5.- աڈʹͭͬͨ͘ϒϩοΫΛར༻ɺ
ඞཁ࠷ݶͷ)5.-੍࡞ 8PSE1SFTT աڈʹͭͬͨ͘ϒϩοΫΛར༻ɺ ඞཁ࠷ݶͷϒϩοΫ੍࡞ ͜Ε·Ͱ ϒϩοΫΤσΟλʔ ϫΠϠʔ ʢϒϩοΫΤσΟλʔʣ σβΠϯ ϔομʔɺϑολʔͳͲ )5.- ඞཁ࠷ݶͷ)5.-੍࡞ 8PSE1SFTT ඞཁ࠷ݶͷϒϩοΫ੍࡞ ϒϩοΫΤσΟλʔ ରԠςʔϚ
ϒϩοΫΛࢿ࢈ʹ͢Δ
͍͞͝ʹ
%FNPDSBUJ[F1VCMJTIJOH ύϒϦογϯάͷຽओԽ
XPSEQSFTT 8PSEQSFTT 8PSE1SFTT º º ˓ ϫʔυϓϨεͷਖ਼͍͠௲Γ
ΟυΡε Οτε Οζ ϫΠζ ϫΠυ XJEUIͷಡΈํ
ࣝͷౕྴʹͳΒͳ͍ ࣝΛ*OQVUͨ͜͠ͱͰၗຫʹͳΓ ৽͍͠ػձΛଛࣦ͢Δ
ͭͳ͛Δɻ
5IBOLT