Webサイト専門プログラマの言いたい放題

元システムエンジニアがサイト制作とプログラミングについて好き放題しゃべります。

【WordPressで拡張性に富んだテーマを作るには?】

f:id:wp-lesson:20161111191353j:plain
WordPressのテーマ(テンプレート)には
あらかじめいろんな独自機能がついています。
 
そこがテーマ作成者の「売り」なのですが、
 
もしあなたがテーマを作成して配布や販売したいとお考えなら、
バージョンアップで拡張していきやすい作り方を心がけると良いでしょう。
 
WordPressでは、ページのテンプレートに先だって、
functions.phpが読み込まれます。
 
なので、テーマ独自の機能はfunctions.phpに記述するのが一般的です。
 
しかし、1つのファイルに詰め込んでいくと
肥大化して読みづらくなってしまいます。
 
HTMLの場合なら、インデントやコメントで全体を構造化することで
見通しが悪くなることを防ぐのですが、
PHPではもっと便利な方法があります。
 
▼functions.phpの中身

<?php
require_once locate_template('lib/init.php'); // 初期設定の関数
require_once locate_template('lib/cleanup.php'); // 不要なモノを削除する関数
require_once locate_template('lib/titles.php'); // タイトル出力の関数
require_once locate_template('lib/breadcrumbs.php'); // パンくずリストの関数
require_once locate_template('lib/scripts.php'); // CSSやJavascript関連の関数
require_once locate_template('lib/ads.php'); // 広告関連の関数
require_once locate_template('lib/widgets.php'); // サイドバー、ウィジェットの関数
require_once locate_template('lib/custom.php'); // その他カスタマイズの関数

 
こんな風にします。
 
require_oncePHPの命令で、
まだ読み込んでいなければ一度だけ読み込む。
 
locate_templateWordPressの関数で、
相対パスで指定したテンプレートファイルがあれば読み込む。
 
というものです。
 
こうしておけば、長~~い functions.php の中から変更したい場所を探さなくても、
rssのリンクを消したい」と思ったら lib/cleanup.php の中で処理を追加すれば良い
というように一目瞭然です。
 
ポイントは、テーマの「売り」となる独自機能を
機能別にファイルを分けておくということです。
 
functions.php 一辺倒ではなく、
プログラム全体を大きな枠組みで捉えると、
このような作り方を選ぶ機会が出てくるかも知れません。
 
1つ1つが役目を持った歯車で、全体が動くイメージです。

↓↓↓「自分で作れる力」を身につけたいあなたへ↓↓↓

【1】CODEMYマンツーマンレッスン

codemy-lesson.office-ing.net
⇒30分無料相談あり
⇒知りたいことだけ学べる個人レッスン

▼レッスンの記録をご覧いただけます。
https://www.facebook.com/codemy.lesson/
 

【2】プログラミング講座CODEMY

office-ing.hatenablog.com
⇒動画と個別添削で学べるオンラインレッスン

自分でホームページやプログラムの制作やカスタマイズをできるようなりたい方が
業種・経験・地域を問わず参加されています。

講師実績

業界大手リクルート社が運営する総合学習サイト「おしえるまなべる」
2015年、パソコンジャンルで1位評価
2016年9月「ホームページ作成のツボとコツがゼッタイにわかる本」出版

講師が執筆した本が発売されました!

『ホームページ作成のツボとコツがゼッタイにわかる本』
定価: 2,400円(税別)出版社:秀和システム
 
Amazon購入ページはこちら!