The Newest Post
WordPressのテーマを作成覚え書き
- Get link
- X
- Other Apps
WordPressのテーマの格納場所は基本的に
/wp/wp-content/themes/にある。
テーマの基本構成
で取得できる。
じゃあ、CSSファイル内で指定している画像はどうすんの??
CSSファイル内だと、phpが効かないのでget_template_directory_uriの魔法は通用しない。
なので、url内をベタ書きで書き直してあげる必要がある。
/wp/wp-content/themes/mytheme/common/base.css
.header-navi > li::before {
・・・
background: url(/wp/wp-content/themes/mytheme/common/img/ico_circle_arrow_01.png) top left no-repeat;
・・・
}
the_date():日付を表示
the_permalink():記事のリンクを表示
the_title():記事のタイトルを表示
この<?php the_XXXX(); ?>というのはWordPressのテンプレートタグというもの。
WORDPRESS日本語Codex というWordPressのwikipediaみたいなものがあるのでここでテンプレートタグを調べながら実装してみる。
ループまで出来れば、あとは状況に合わせて調べつつ実装をしていくだけ。
この記事はM先生が書かれて教えていただいた記事に書き込みしながら復習のために書いたものです。
M先生ありがとうございます。
/wp/wp-content/themes/にある。
テーマの基本構成
- index.php:基本テンプレ
- (home.phpやfront-page.php):TOP用テンプレ(index.phpでまかなえるなら不要)
- header.php:ヘッダー用
- footer.php:フッター用
- single.php:投稿ページ用
- page.php:固定ページ用
- archive.php:月別記事一覧などアーカイブ用
- category.php:カテゴリー一覧など用
- functions.php:機能実装用
- style.css:テーマ情報記載用CSS
- screenshot.png :テーマの画像
index.php、style.css、screenshot.pngさえあればテーマとしては一応成立して表示はされる。
※ むしろndex.php、style.css、screenshot.pngがなければ表示されない。
基本のWordPressコーディングファイル構成
共通ファイルの/common/フォルダの扱いについては
①ルート直下(/)に置くパターン
②自作テーマの中に含めちゃうパターン の2パターンある。
パターンの判断としてはクライアントの指示を仰ぐ場合もありますが、
全ページをWordPress化してテーマを入れ替えるだけで全部済ませたい場合は②、それ以外のサイトの一部をWordPress化する場合は①を選択する場合が多い。
テーマフォルダを作成してテーマを作成
/themes/ディレクトリの中に「mytheme」と命名したフォルダを作成します。
そのなかに、まず、
index.php
style.css
screenshot.png
を入れる。
そうすると管理画面の「外観」→「テーマ」から自作テーマが選べるようになります。
index.php
サイトの基本となるテンプレートphp。
この段階ではまだ何も書かなくて大丈夫。
style.css
テーマ情報を記載するCSS。
ここにサイトのレイアウト用CSSを追記する方もいますが、
M先生は好みじゃないのでテーマ情報しか記載しないそう。
テーマ情報の記載方法
WORDPRESSCodexを見ると、
style.css
/*
Theme Name: Twenty Thirteen
Theme URI: http://wordpress.org/themes/twentythirteen
Author: the WordPress team
Author URI: http://wordpress.org/
Description: The 2013 theme for WordPress takes us back to the blog, featuring a full range of post formats, each displayed beautifully in their own unique way. Design details abound, starting with a vibrant color scheme and matching header images, beautiful typography and icons, and a flexible layout that looks great on any device, big or small.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, flexible-width, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready
Text Domain: twentythirteen
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
とテンプレートが長々と書いてあるが、
これくらいでOK。
style.css
/*
Theme Name: 自作pqスペシャル
Author: P Q
Description: このテーマはpq制作の自作WordPressテーマです。
*/
Theme Nameには案件の場合だとサイト名を入れる場合が多い。
(例:XXXXX株式会社Webサイトのテーマ)
Authorは案件のときは書いても書かなくても良い。
Descriptionはクライアントや運用の人が分かりやすい説明を書いておく。
screenshot.png
サイトのキャプチャー画像やそのサイトのイメージ(ロゴなど?)をPhotoshopで軽く編集して作成します。
現在、WordPress標準のテーマのscreenshotの画像サイズが880 × 660なのでそれで作成する。
また、この名前(screenshot)以外だと表示されないので気をつける。拡張子はpng以外にもjpg, gifでもOK。
そして、このテーマを「外観」→「テーマ」から「有効化」する。
これくらいでOK。
style.css
/*
Theme Name: 自作pqスペシャル
Author: P Q
Description: このテーマはpq制作の自作WordPressテーマです。
*/
Theme Nameには案件の場合だとサイト名を入れる場合が多い。
(例:XXXXX株式会社Webサイトのテーマ)
Authorは案件のときは書いても書かなくても良い。
Descriptionはクライアントや運用の人が分かりやすい説明を書いておく。
screenshot.png
サイトのキャプチャー画像やそのサイトのイメージ(ロゴなど?)をPhotoshopで軽く編集して作成します。
現在、WordPress標準のテーマのscreenshotの画像サイズが880 × 660なのでそれで作成する。
また、この名前(screenshot)以外だと表示されないので気をつける。拡張子はpng以外にもjpg, gifでもOK。
そして、このテーマを「外観」→「テーマ」から「有効化」する。
テーマに必要ファイルを入れて表示テストをする。
ここからいよいよカスタマイズ。
まず、静的に作成したHTMLファイルを用意する。
次に、「mytheme」フォルダに
header.php
footer.php
を追加する。
header.phpには
<header>〜</header>
footer.phpには
<footer>〜</footer>
までをコピペでひとまず入れておく。
次にindex.phpにheader.phpとfooter.phpを表示させる呪文を書く。
index.php
<?php get_header() ?>
<?php get_footer(); ?>
もろもろ追加して......
index.php
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="format-detection" content="telephone=no">
<title>PAGETITLE|SITENAME</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link rel="stylesheet" href="/common/css/base.css" media="all">
<link rel="stylesheet" href="/common/css/module.css" media="all">
<script src="/common/js/jquery.js"></script>
<script src="/common/js/common.js"></script>
</head>
<body id="gDef" class="lDef">
<div id="anc_pagetop" class="wrapper">
<?php get_header() ?>
<?php get_footer(); ?>
</body>
</html>
こんな表示でHTMLにCSS読み込まれていな状態のようなものが出て来ればひとまず安心。
CSSを適用させる
今回はテーマの中にcommonフォルダを入れてしまうパターン②を適用してみる。
あえて茨の道です。
②の場合だと、
href="/common/css/base.css"
でCSSが反映されない。
(①の方法だと普通に反映される。)
なので下記のようなコードを挿入する必要がある。
<?php echo get_template_directory_uri(); ?>
get_template_directory_uri:テーマ内のディレクトリのURLを取得する
<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/common/css/base.css" media="all">
で取得できる。
じゃあ、CSSファイル内で指定している画像はどうすんの??
CSSファイル内だと、phpが効かないのでget_template_directory_uriの魔法は通用しない。
なので、url内をベタ書きで書き直してあげる必要がある。
/wp/wp-content/themes/mytheme/common/base.css
.header-navi > li::before {
・・・
background: url(/wp/wp-content/themes/mytheme/common/img/ico_circle_arrow_01.png) top left no-repeat;
・・・
}
ループを理解して記事一覧を表示する
ループとは
WordPressの投稿を繰り返し表示する仕組みだと思っておけばOK。
これで投稿した記事内容や記事一覧が表示できる。
ループの例
<?php if (have_posts()) :?>
<?php while (have_posts()) :?>
<?php the_post();?>
//ここにループの中身
<?php the_content(); ?>
<?php endwhile; ?>
<?php endif;?>
have_posts() : 記事があるだけ取得する
the_post() : 記事を取得する
なのでwhile(have_posts())〜 the_post()で記事の数だけ情報を取得している。
そして
the_content():記事本文を取得で本文を取得している。
それではループ内にHTMLを仕込んでみる。
HTML
<ul class="list-news">
<li>
<p class="date">2013.03.15</p>
<div class="detail">
<ul class="list-cmn">
<li><a href="">ダミーテキスト・・・</a></li>
</ul>
</div>
</li>
</ul>
HTMLにループ用のWordPressコードを適用ループさせたいのは<li>の部分のため<li>〜</li>をループのphpコードで囲む。
<ul class="list-news">
<?php if (have_posts()) :?>
<?php while (have_posts()) :?>
<?php the_post();?>
<li>
<p class="date"><?php the_date(); ?></p>
<div class="detail">
<ul class="list-cmn">
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
</ul>
</div>
</li>
<?php endwhile; ?>
<?php endif;?>
</ul>
the_date():日付を表示
the_permalink():記事のリンクを表示
the_title():記事のタイトルを表示
この<?php the_XXXX(); ?>というのはWordPressのテンプレートタグというもの。
WORDPRESS日本語Codex というWordPressのwikipediaみたいなものがあるのでここでテンプレートタグを調べながら実装してみる。
ループまで出来れば、あとは状況に合わせて調べつつ実装をしていくだけ。
この記事はM先生が書かれて教えていただいた記事に書き込みしながら復習のために書いたものです。
M先生ありがとうございます。
- Get link
- X
- Other Apps
Popular posts from this blog
幽幻道士3
幽幻道士3 監督:シュ・イェン・ウェン 1988年 台湾 あらすじ スイカ頭がキョンシーになってしまい悲しむのもつかの間、キョンシーを悪用され金おじいさんは捕まってしまう。その後なんやかんやあって(アバウト)金おじいさんが敵のムササビ道士に捕まってしまい、闇の特殊霊魂にさせられてしまう。 テンテンたちは金おじいさんの元婚約者であるマーボおばあちゃんのもとへ助けを求める。マーボおばあちゃんは法術は使わないと心に誓っていたが、金おじいさんと甥の盛天文が危ないことを知ると、秘術である「八卦上将軍の術」を使うことを決意する。 一言で言うと、八卦将軍の術がかっこよすぎる。これに尽きます。八卦将軍の術は特殊霊魂の術のさらに上を行くような術で未婚の男女が8人いないと行えない術でもある。アクションはもちろんのこと、衣装やメイク、歩き方、立ち位置など全てにおいて本当にかっこよいです。 ストーリーも1~3まで続いているお話なので、大変面白いのですが、この八卦将軍の術が素晴らしくかっこよいので、未見の方は是非見ていただきたいです。
幽幻道士4
幽幻道士4 孩子王 監督:チン・チュンリャン、ツァイ・ヤンミン 1988年 台湾 あらすじ 子供ばかりを襲う恐ろしい魔王がいた。その魔王に青龍という一人の道士が戦いを挑んだ。しかし、青龍は魔王に乗り移られてしまう。魔王は青龍の子供を狙い金おじいさんのもとへ現れる。金おじいさんと青龍は必死で戦ったが、青龍の妻のリンリンは殺されてしまう。金おじいさんは間一髪のところで、魔王の頭に杭を打ち込む。痛みに耐えかねた魔王は青龍を連れてどこかに消え去ってしまう。魔王が去ったあと、慌ててリンリンの元に駆けつける金おじいさん。リンリンの死にとても悲しむが、お腹の赤ちゃんが生きていることに気づく。法術で赤ちゃんを生ませることに成功する。この時産まれてきたのがテンテンである。テンテンは生まれたときから、特別な力を持っていた。それから、月日が経ち、テンテンと金おじいさんは、テンテンの父親である青龍を探す旅に出るのであった。 以下、今回の幽幻 4 の特徴 ・ 1 ~ 3 とは毛色が違う。 4 とついているが、全くの別物。外伝的な感じ。 ・そのため、 1 ~ 3 カラーが好きな人には少し受け入れ難い点があるかもしれない。 ・テンテンの誕生から大人までとはいかんけど、成長を描く。 ・テンテンが他の子供たちとは一線を画している。能力が違う。 ・ 1 とは対照的に親方がダメ親方。 ・テンテンがチビクロたちと面識がない。 ・「雷 ( いかづち ) よ!我に力を与えよ!」 ・金おじいさんはフルメタルキョンシーという皇帝を守った強い戦士たち ( のキョンシー ) を護衛兵として鍛えていたが、何者かに魔王の騒動のときに盗まれてしまう。 良い点 ・最初から最後まで話が二転三転していって、内容がとても面白い。 ・テンテンと金おじいさんの自転車に二人乗りしているシーンが好き。自転車アクション。 ・フルメタルキョンシーの服は私はあまり好きではないが ( 通常キョンシーの服のほうが好き ) フルメタルキョンシーを鈴 ( ベル ) で誰でも操れるというのは面白い。 ・魔王が人に乗り移れることで、次に誰に乗り移るのか、というハラハラ感が面白い。 ・乗り移られると皆すごく強くなって、顔に緑の光が当たる。 ...
新・桃太郎
新・桃太郎1( 捉鬼雜牌軍 The Child of Peach) 監督:チン・チュンリャン チャオ・チュンシン 1987年 台湾 昔々あるところに大きな大きな山があり、その山のずっと奥に、桃の国という桃源郷があった。この国の主は仙人でその子どもに生まれたのが桃太郎だった。 ある日、赤鬼大魔王が桃の国に、太陽の剣を奪いにやってくる。太陽の剣を奪われた桃の国は一気に光を失い、雪が降り出す。赤鬼大魔王に両親を殺された桃太郎は桃の神によってもたらされた大きな桃の中に入り、下界に降ろされた。 下界では、おじいさんとおばあさんが神様に子どもを授かりたいと願っている。ここでのおじいさんが幽幻道士の金おじいさんで、おばあさんがマーボおばあちゃん役の人で、幽幻ファミリーの面々が出ていて嬉しい。 洗濯をしていたばあさんが桃を発見するるが、桃が逃げるので、ばあさんがタライに乗って桃を追いかける。桃に振り回されながらも自宅に到着。桃が光って家具を動かすポルターガイスト現象。桃と格闘するじいさんばあさん。テンテンの妖精が現れ、桃から出ても大丈夫だと促す。桃が割れて男の子が生まれる。 一方悪魔島では… 太陽の剣のお陰で、魔女ボラボラが復活。元気になったボラボラはまた悪いことするぞー!!!と人間界に現れる。赤鬼軍団が人間界に出て暴れ出したのである。 赤ん坊の桃太郎のままでは人間界が危ないと思ったテンテン妖精が桃太郎に魔法をかけ桃太郎を成長させる。井戸を掘り起こしたり、じいさんの芝刈りの手伝いをしたり、持ち前の力を遺憾なく発揮する桃太郎。 暴れまわる赤鬼軍団は、りんご姫を誘拐する。スイカ太郎というデブ隊長が率いる兵隊が鬼退治にいく兵士を募っているという話を聞く。悪魔どもに好きなようにさせてはいけないということで、おばあさんは鬼退治にいくことに賛成するが、おじいさんは桃太郎のことが心配で反対する。 鬼退治に向かうスイカ太郎一行。一緒に行きたいと頼むが、子供だからと追い返される。一人で向かう桃太郎。そこへ犬丸、猿丸、雉丸がついてくる。家来にしてくれと頼む三匹。人間の姿に変身する彼ら目の当たりにして驚く桃太郎。一緒に行こう!と仲間になることを許す桃太郎。 ボラボラに目をつけらられたスイカ太郎。りんご姫に変身してスイカ太郎の...