Word pressはじめの一歩 テーマ作成ハンズオン

112 Views

July 23, 15

スライド概要

WordCamp Kansai 2015ハンズオンスライド

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

WordPressはじめの一歩 テーマ作成ハンズオン 2015/07/25 WordCamp Kansai 2015

2.

はじめに

3.

今日体験してほしいこと • PHPの知識無しでもテーマは作れる • テーマは全部自作しなくてもいい • テーマ制作は思っているよりは簡単

4.

名前:岡本秀高 仕事:PHPエンジニア 地域:京都〜滋賀 その他:WordBench京都モデレーター 興味:WP-API, React.js, Polymer,JSON-LD

5.

一応公式テーマ作者です https://profiles.wordpress.org/hideokamoto

6.

アジェンダ • テーマ作成3つの方法 • PHP知識なしでもテーマを作る方法 • _sを使った作成の流れ • より踏み込んだカスタマイズへ

7.

アジェンダ • テーマ作成3つの方法 • PHP知識なしでもテーマを作る方法 • _sを使った作成の流れ • より踏み込んだカスタマイズへ

8.

テーマの作り方は 1つじゃない

9.

テーマ作成3つの方法 • フルスクラッチ • 子テーマ • スターターテーマ

10.

テーマ作成3つの方法 • フルスクラッチ • 子テーマ • スターターテーマ

11.

フルスクラッチで作る 一からデザインを作成し、 作成したHTMLにWordPressを実装させる作り方 • メリット:自由度MAX • デメリット:PHP知識必要

12.

テーマ作成3つの方法 • フルスクラッチ • 子テーマ • スターターテーマ

13.

子テーマとして作る 既にあるテーマを活用し、 「子テーマ」として機能を上書きする作り方 • メリット:編集範囲が少なく済む • デメリット:親テーマに仕様が依存しやすい

14.

テーマ作成3つの方法 • フルスクラッチ • 子テーマ • スターターテーマ

15.

スターターテーマで作る 最低限のPHPが実装されたテーマに CSSでデザインを追加する作り方 • メリット:PHP知識が無くても作れる • デメリット:スターターテーマの仕様に依存、 英語

16.

高野さんによるまとめ 作成方法 長所 短所 スクラッチ開発 コントロールできる 制作に時間が掛かる 子テーマ 素早く機能を 取り入れられる 親テーマへの依存が 大きい 学習しやすい 元テーマの更新を 継承しない スターターテーマ http://ja.naoko.cc/2012/12/02/wordpress-theme-development-approach/

17.

アジェンダ • テーマ作成3つの方法 • PHP知識なしでもテーマを作る方法 • _sを使った作成の流れ • より踏み込んだカスタマイズへ

18.

PHPが書けなくても テーマは作れる

19.

スターターテーマでテーマを作る スターターテーマを使えば、 必要なPHPが揃った状態でテーマ制作が可能 • _s:http://underscores.me/ • bones:http://themble.com/bones/ など

20.

What about ̲s?

21.

̲s(underscores) Automatticが作ったスターターテーマ テーマに必要なPHPファイルが一式揃っている CSSが書ければオリジナルテーマが作れる

22.

https://wordpress.org/themes/hew/

23.

https://wordpress.org/themes/cinnamon/

24.

https://wordpress.org/themes/business-leader/

25.

アジェンダ • テーマ作成3つの方法 • PHP知識なしでもテーマを作る方法 • _sを使った作成の流れ • より踏み込んだカスタマイズへ

26.

̲sの中身と使い方を 簡単にご紹介

27.

1 _sのセットアップ

28.

_sのセットアップ 1. テーマファイルを作成 2. 開発環境へインストール 3. テーマの有効化

29.

_sのセットアップ 1.テーマファイルを作成 2. 開発環境へインストール 3. テーマの有効化

30.

http://underscores.me/

31.

テーマファイルを作成する • 基本設定は_sのDLページで設定可能 • とりあえず使ってみる場合なら、 「Theme Name」を入力するだけ • 細かい設定は「Advanced Options」をクリック

32.

テーマ名を入れて クリック!

34.

Advanced Options • スラッグ・作者・説明文を入力できる • スラッグは関数同士の衝突回避に使われる twentyeleven_foo() 、twentyten_foo() など • 入力したらGENERATEでダウンロード開始

35.

_sのセットアップ 1. テーマファイルを作成 2.開発環境へインストール 3. テーマの有効化

36.

開発環境へアップロード • 先ほどDLしたzipを管理画面からアップロード • テーマ一覧に表示されればOK • テストデータを入れておくと便利 http://nuuno.net/note/wordpress-testdata/

37.

クリック!

38.

先ほどDLしたzipファイルを アップロードしよう

39.

_sのセットアップ 1. テーマファイルを作成 2. 開発環境へインストール 3.テーマの有効化

40.

「有効化」

42.

2 テーマに スタイルをつける

43.

テーマにスタイルをつける 1. 基本的なスタイル調整方法 2. WordPressならではのクラスを活用する

44.

テーマにスタイルをつける 1.基本的なスタイル調整方法 2. WordPressならではのクラスを活用する

45.

基本的なスタイル調整方法 • Chromeやfirefoxの開発ツールを利用しよう • 調整方法は通常のHTMLファイルと一緒 • WordPressならではのクラスを使って条件分け

46.

Chrome開発ツールの場合 Mac:[Option]キー + [Shift]キー Win: F12 + [i]キー

47.

Chrome開発ツールの場合 赤枠内にCSSを書いていく

48.

最後にstyle.cssに 転記して保存しよう

49.

テーマにスタイルをつける 1. 基本的なスタイル調整方法 2.WordPressならではの クラスを活用する

50.

WordPressならではのクラスを活用する • 動的にクラスを出す箇所が複数ある • body_class()やpost_class()で設定する • 上手く活用すれば記事別にスタイルを変更できる!

51.

WordPressならではのクラスを活用する • 特定のタグの投稿のみ非表示 .tag-投稿タグのスラッグ{ display:none;} • 検索結果ページのみ赤文字に .search-results{ color:red} • 先頭固定記事のみ黒背景 .sticky{ background-color: black}

52.

クラスの出力サンプルをもっと知る Codexにサンプルがいろいろ載ってます! • body_class http://wpdocs.osdn.jp/テンプレートタグ/body_class • post_class http://wpdocs.osdn.jp/テンプレートタグ/post_class

53.

3 知って得する _sの内部構造

54.

No.1 テンプレート階層 知って得する_sの内部構造

55.

テンプレート階層 index.php archive.php single.php アーカイブ 個別投稿 カテゴリ タグ 著者 etc.. メディア ブログ カスタム投稿 etc.. 404.php TOPページや 下記以外のページ page.php 404ページ 固定ページ search.php 検索結果

56.

詳細はCodexで http://bit.ly/1Lfpj7u

57.

No.2 テンプレートパーツ 知って得する_sの内部構造

58.

_sでは、 パーツ別にPHPが 分割されている

59.

header.php content.php sidebar.php comment.php footer.php

60.

content.phpは 更に細分化されている

61.

コンテンツ階層 content.php 下記に該当しない コンテンツ contentnone.php contentsingle.php contentpage.php contentsearch.php 該当記事なし 個別投稿 固定ページ 検索結果 index.php search.php archive.php single.php page.php search.php

62.

No.3 カスタム要素 知って得する_sの内部構造

63.

その他のカスタム要素 • jsディレクトリ:_sデフォルトのJS置き場 • layoutディレクトリ:レイアウト用CSS置き場 • Languagesディレクトリ:翻訳ファイル置き場 • incディレクトリ:拡張機能置き場

64.

jsディレクトリ _sにデフォルトで使用されている JavaScriptファイルなどがある

65.

jsディレクトリ • skip-link-focus-fix.js: • customizer.js : • navigation.js :

66.

jsディレクトリ • skip-link-focus-fix.js:バグFIX(っぽい) • customizer.js :カスタマイザー用JS • navigation.js :ドロップダウンナビ用JS

67.

layoutsディレクトリ レイアウト調整用CSSが ちょっとだけ入ってるディレクトリ

68.

layoutsディレクトリ • content-sidebar.css: • sidebar-content.css:

69.

layoutsディレクトリ • content-sidebar.css:サイドバーを右に置くCSS • sidebar-content.css:サイドバーを左に置くCSS 中身をstyle.cssにコピペでもOK

70.

languagesディレクトリ 翻訳ファイルがここに入ってます

71.

_sは基本英語 「カテゴリ」や「タグ」「コメント」は、 日本語で表示させたい・・・!

72.

http://bit.ly/1NlLeuS からja.moをDL

73.

ja.moをlanguagesディレクトリへ

74.

ja.moで翻訳完了! これが・・・

75.

ja.moで翻訳完了! こうなる ↓翻訳の詳細(GitHub)↓ http://bit.ly/1KfIvmK

76.

incディレクトリ オプション機能やカスタマイズ機能が まとめられているディレクトリ

77.

incディレクトリ • custom-header.php: • customizer.php : • extras.php : • jetpack.php : • template-tags.php :

78.

incディレクトリ • custom-header.php:「ヘッダー画像」関係 • customizer.php :「カスタマイザー」関係 • extras.php :クラスやtitle拡張 • jetpack.php :Jetpackの無限スクロール対応 • template-tags.php :テンプレートタグ拡張

79.

その他 • rtl.css:SSCの用語言く書らか右

80.

アジェンダ • テーマ作成3つの方法 • PHP知識なしでもテーマを作る方法 • _sを使った作成の流れ • より踏み込んだカスタマイズへ

81.

自信がないなら PHPは使わない

82.

より踏み込んだカスタマイズへ・・・ • PHPでカスタマイズする時に注意すべきこと • JavaScript / CSSファイルを読み込む方法 • もっとガッツリ触りたい方への告知

83.

より踏み込んだカスタマイズへ・・・ • PHPでカスタマイズする時に注意すべきこと • JavaScript / CSSファイルを読み込む方法 • もっとガッツリ触りたい方への告知

84.

オリジナルPHPは使わない • オリジナルPHPを使うとセキュリティがつらい echo とか echo とか echoとか • PHPを書くならテンプレートタグで http://wpdocs.osdn.jp/テンプレートタグ • ヘッダー画像はコピペでできる

85.

inc/custome-header.php 8-12行目をコピーしよう!

86.

header.php コピーしたPHPを貼り付けよう!

87.

ヘッダー画像が表示された!

88.

より踏み込んだカスタマイズへ・・・ • PHPでカスタマイズする時に注意すべきこと • JavaScript / CSSファイルを読み込む方法 • もっとガッツリ触りたい方への告知

89.

外部ファイルは wp_head()かwp_footer() で読み込む

90.
[beta]
任意のJSを追加する場合
function theme_name_scripts() {
wp_enqueue_script(
'script-name',
get_template_directory_uri() . '/js/example.js',
array(),
'1.0.0',
true
);
}
add_action( 'wp_enqueue_scripts', 'theme_name_scripts' );
赤文字部分をファイル名やファイルパスに書き換えればOK

91.
[beta]
任意のCSSを追加する場合
function theme_name_style() {
wp_enqueue_style(
'style-name',
get_stylesheet_uri(). ‘css/origin.css’
);
}
add_action( 'wp_enqueue_scripts', 'theme_name_style' );

赤文字部分をファイル名やファイルパスに書き換えればOK

92.

プラグインでも使うので、 wp̲enqueue̲scriptと wp̲enqueue̲styleは 覚えておくと便利b

93.

より踏み込んだカスタマイズへ・・・ • PHPでカスタマイズする時に注意すべきこと • JavaScript / CSSファイルを読み込む方法 • もっとガッツリ触りたい方への告知

94.

もっとガッツリ触りたい方は・・・ 8月2日 WordBench京都 _sで作るテーマ作成ハンズオン(再演)