WordPressの起動

WEBサイト作成

WordPressの起動1【 WordPressテンプレートファイルの構成】


WordPress起動時のコアファイルの役割の概要

  1. -index.php(WordPressのエントリーポイント)
  2. -----wp-blog-header.php
  3. ---------wp-load.php(環境設定)
  4. -------------wp-config.php(DB接続情報)
  5. -----------------wp-settings.php(WordPress初期設定のコア)
  6. ---------wp関数(WordPressメイン関数実行)
  7. ---------template-loader.php(テンプレート選択)

エントリポイントであるindex.phpからインクルードされるwp-blog-header.phpがすべての基点になり、このようにエントリーポイントがindex.phpから別ファイルに分離されていることで、WordPressのインストールディレクトリを自由に変更することができます。

  1. wp-load.php(環境設定)
  2. wp-config.php(DB接続情報)
  3. wp-settings.php(WordPress初期設定のコア)

というリンクの中でWordPress起動のための前準備をします。

次にwp-includs/functions.phpの中に定義されているwp関数を実行しますが、その中からwp-includes/class-wp.phpに定義されているWPクラスのmainメソッドを実行することでURLにマッチしたクエリを確定し、wp-includes/query.phpにあるWP_Queryクラスの$wp->query_postsメソッドで投稿を取得します。

URLにて確定されたクエリは、MySQLクエリに変換され、WP_Queryクラスのオブジェクトである$wp_queryグローバル変数の$wp_query->posts配列に、wp_postテーブルとwp_postmetaテーブルから、表示すべき投稿・固定ページデータを格納し、のちに選択されるテンプレート上に出力します。

最後にtemplate-loader.phpにてテンプレート階層に従って、該当テンプレートが決定されます。

ベーステンプレートの構成

template-loader.phpの条件文の中で、テンプレート階層の優先度によってベーステンプレートが選択されます。

index.php配下

  1. 404.php
  2. search.php
  3. single-投稿タイプスラッグ.php>single.php
  4. カスタムテンプレートスラッグ.php>page-任意のページスラッグ.php>page.php
  5. front-page.php>home.php

archive.php配下

  1. category-スラッグ.php>category.php
  2. archive-投稿タイプスラッグ.php
  3. taxonomy-タクソノミスラッグ.php>taxonomy.php
  4. date.php

パーツテンプレートの構成

ベーステンプレートから読み込まれる共通パーツテンプレートで、例えばsearchform.phpはheader.phpやsidebar.phpからget_search_form()で読み込まれ、検索結果をsearch.phpに表示します。

  1. header.php←get_header()で読み込み
  2. footer.php←get_footer()で読み込み
  3. sidebar.php←get_sidebar()で読み込み
  4. sidebar-archives.php←get_sidebar('archives')で読み込み
  5. sidebar-categories.php←get_sidebar('categories')で読み込み
  6. loop-main.php←get_template_part('loop', 'main')で読み込み
  7. searchform.php←get_search_form()で読み込み

テンプレートタグというWordPress関数

起動時のコアモジュールから生成された、URLに基づく適切な情報を格納したグローバル変数$wp_post->postsから、テンプレートタグ(WordPressビルトイン関数)で、データをブラウザにレンダリング表示します。

WordPressでデータを表示するには、テンプレートタグ以外にPHP本体のビルトイン関数が使えますが、両者の違いとしてテンプレートタグは管理画面の「設定」に基づいて値を表示するなど、よりWordPress寄りな関数になっています。

header.php:ヘッダーパーツテンプレート

//CSS読み込み
<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/style.css" type="text/css" />

//ブログタイトル
<title><?php bloginfo('name'); ?></title>

//bodyタグのクラス
<body <?php body_class(); ?>>

//ページタイトル
<h1><a href="<?php echo home_url();?>"><img src="<?php echo get_template_directory_uri(); ?>/images/logo.png"></a></h1>

//ページ情報
<?php bloginfo('description'); ?>

//検索フォームパーツを読み込み
<?php get_search_form(); ?>

//トップページかどうか調べる
</php if( is_home()): ?>

searchform.php:検索フォームパーツテンプレート

//検索フォームを動作させるにはaction属性がトップページのURL、GETメソッド、name属性とid属性にsを設定
<form action="<?php echo home_url(); ?>" method="get" class="searchform">

//検索されたキーワードを表示する(検索した後にフォームにキーワードを残すためにvalue属性にセット)
<input type="text" value="<?php the_search_query(); ?>" name="s" id="s" placeholder="サイト内検索">


search.php:検索結果ベーステンプレート

//ヘッダーパーツを読み込み
<?php get_header(); ?>

//検索結果ページのタイトルに入力キーワードをセット
<h1 class="type-A">php the_search_query();?>の検索結果</h1>
//WordPressループ <?php get_template_part('loop', 'main'); ?> //サイドバーパーツを読み込む <?php get_sidebar(); ?> //フッターパーツを読み込み <?php get_footer(); ?>

sidebar-categories.php:カテゴリサイドバーパーツテンプレート

<?php 
$args=array(
    'title_li'=>'カテゴリナビ',
    'show_count'=>true
);
//カテゴリーページへのリンク一覧をli囲みで表示 
wp_list_categories($args); 
?>

front-page.php:トップページベーステンプレート

//ヘッダーパーツを読み込み
<?php get_header(); ?>

//WordPressループ
<?php get_template_part('loop', 'main'); ?>	

//サイドバーパーツを読み込む
<?php get_sidebar(); ?>

//フッターパーツを読み込み
<?php get_footer(); ?>

index.php:カテゴリ・アーカイブベーステンプレート

//ヘッダーパーツを読み込み
<?php get_header(); ?>

//ページのタイトル
<?php if(is_month()): ?>
    //本来はループの中で使用するが、月別アーカイブならその月の日付を表示する。
    <?php the_time('Y年m月'); ?> 
<?php else : ?>
    //現在表示しているページのタイトルで個別記事なら投稿タイトル、カテゴリアーカイブページならカテゴリ名
    <?php wp_title(''); ?> 
<?php endif; ?>	

//WordPressループ
<?php get_template_part('loop', 'main'); ?>	

//サイドバーパーツを読み込む
<?php get_sidebar('categories'); ?>
<?php get_sidebar('archives'); ?>

//フッターパーツを読み込み
<?php get_footer(); ?>

loop-main.php:WordPressループパーツテンプレート

//WordPressループ
<?php 
if(have_posts()): 
    while(have_posts()): the_post(); 
?>

<?php 
    endwhile;
endif;
?>

//投稿ID
<article id="post-<?php the_ID(); ?>" <?php post_class('news'); ?>>

//カテゴリ表示
<?php the_category(); ?>

//投稿日付表示
<time datetime="<?php the_time('Y-m-d'); ?>"><?php the_time('Y年m月d日'); ?></time>

//タイトルとパーマリンクを表示
<h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>

//抜粋文を表示
<?php the_excerpt(); ?>

//アイキャッチ画像を表示
<figure>
<?php if(has_post_thumbnail()): ?>
    <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a>
<?php else: ?>
    <a href="<?php the_permalink(); ?>"><img src=<?php get_template_directory_uri(); ?>/images/noimage.png /></a>
<?php endif; ?>
</figure>

//検索結果ページsearch.phpなら
<?php if(is_search()) : ?>
<?php else : ?>
<?php endif; ?>

single.php:個別記事ページベーステンプレート

//ヘッダーパーツを読み込み
<?php get_header(); ?>

//WordPressループの中でコンテンツを読み込む


//前後の投稿へのリンク
<?php previous_post_link(); ?>
<?php next_post_link(); ?>

//サイドバーパーツを読み込む
<?php get_sidebar('categories'); ?>
<?php get_sidebar('archives'); ?>

//フッターパーツを読み込み
<?php get_footer(); ?>

404.php:HTTPステータス404テンプレート

//ヘッダーパーツを読み込み
<?php get_header(); ?>

//トップページのURL
<a href="<?php echo home_url(); ?>">トップに戻る</a>

//フッターパーツを読み込み
<?php get_footer(); ?>





おすすめ記事一覧

大統領選挙で考えたギャップにハマるということ 1

ギャップにキュンとするというのは人間の本能みたいなもので、ジョコウィの私利私欲のない素朴なおじさん像と、その実強力なリーダーシップを発揮する実務派という内面が、一見普通の人だが実はスゴイというギャップ好きのインドネシア人に大ウケして、大衆は一種の集団催眠状態にあるようです。

情報の質のレベル 2

見える化された結果を共有化することで問題点が共通認識されますが、共有化が進むことで情報の持つ希少価値が薄れて困る人間がいる場合、有益な情報を独占することでポジションを高めようという政治力が働きます。

3

日本人がインドネシアに来ると、インドネシア人ののんびり加減にイライラするというのは昔からよく聞く話で、インドネシア在住日本人にとってのバイブル的小説である深田祐介著「ガルーダ商人」の中でも、インドネシア宗教省の高官が日本人とインドネシア人を自宅に招待する際に、インドネシア人向けの招待状には、遅刻することを前提にパーティ開始時間を三十分早く書いておくという記述があるほどです。

宗教によって異なる「死んだらどうなる」の考え方 4

キリスト教もイスラム教もともにユダヤ教から派生した宗教であり、それぞれイエス・キリスト(本人が神)またはアッラーという唯一無二の神を信じます。

株価操作なんてインドネシア株では当たり前 5

株価は売り注文と買い注文により変動し、大量の売り注文を買う注文がたくさん入れば、他の投資家達は「俺も俺も」と続くことで株価が上がります。

心臓に毛が生えたインドネシア人のずうずうしい転職活動を応援してみた 6

インドネシア人は秘密の話は誰かに暴露しないと精神の安定を保てない人が多いため、内緒の話に情報の希少性は少なく信憑性も低いことが多いので、「ここだけの話」という枕詞付きで聞かされる話は話半分に聞いておいたほうがいいかもしれません。

日系企業のインドネシアでの存在意義 7

今のまま日本の人口減が続けば、内需は縮小の一途をたどるわけで、そうなると日本国内市場だけで生き残るのは難しいと判断する国内企業が、海外市場に活路を見出そうとするのは必然です。

チャンスはあるが勝てる分野を見つけるのが難しい 8

実際にインドネシアに住んでみて、自分で動いて人と話しをして、現地の事情を少しずつ理解していくにつれて、インドネシアで起業することが意外と手強いことに気づき、その難しさの原因は、高い送料と関税であったりローカル企業との競争であったり、就労ビザ(IMTA)や外国人技能開発基金(DPKK)などのランニングコストの高さであったりします。

インドネシアのシステムインテグレーション業界 9

先日JETRO(日本貿易振興機構)さんと、インドネシアの中小企業のIT投資について意見交換させていただく機会をいただいたのですが、そこで「システム投資のコストメリットはどのように説明できるのか」という、システムインテグレーターの存在価値にも関わる重要な問題提起がありました。

肉体と精神と心と魂 10

「Body and Soul」といえば、昨日の内閣改造に伴う人事で内閣府政務官に内定した自民党の今井絵理子参議院員がメンバーだったSPEEDのデビュー曲であり、インドネシアの老舗女性ファッションブランド名でもあります。

ジャカルタのラーメン市場 11

僕がインドネシアに初めて来たのが1997年10月、インドネシア語は分からないし、仕事は辛いし、周囲の人間は理不尽だし、一時期日本に帰りたくて仕方がない時期がありましたが、当時自分をかろうじてインドネシアに繋ぎ止める心の支えとなっていたのが、協栄プリンスビル(今のWisma Keiai)の日本食レストラン「五右衛門」であり、ここでキムチラーメンを食べることが唯一の楽しみと言っても過言ではありませんでした。

ブランド力、技術力、資金力の3要素 12

1998年のジャカルタ暴動後、ルピアが暴落し海外からのドル建て債務を抱えた国内企業が利子の支払いに苦しんでいた頃、僕は外貨が獲得できるインドネシアでの新しいビジネスを探していました。

日本とインドネシアの間でのタイムマシン経営が通じなくなっている件 13

先進国と後進国との間にある流行のタイムラグを利用して、先進国での成功例を後進国で実践するビジネスモデルをタイムマシン経営といいますが、インターネットの普及に伴い情報がフラット化してしまい、モノと情報のタイムラグが限りなく小さくなった今、先駆者である中小零細同業他社が乱立し市場が出来上がったところに、後発の大手が参入し先発零細を駆逐していく、という典型的な負けパターンにはまります。

サリナデパートとマクドナルド 14

本日5月10日を最後にインドネシアのマクドナルド第1号店であるサリナデパート店(Sarinah)が閉店になりますが、ジャカルタのショッピングモールが新しいコンセプトでモダンにリニューアルされ続ける中で、僕がインドネシアに来たばかりの20数年前には、若者の待ち合わせ場所の定番でもあったサリナデパートやブロックMのパサラヤ(Pasaraya)などは完全に時代に取り残されてしまいました。

不景気の歴史 15

僕がインドネシアに来てからこれまで何度か経済不況を見てきましたが、今回の新型コロナウィルスの感染拡大により、間違いなく景気後退しますので、数年後にはこれがコロナショックとかコロナ不況とか呼ばれるようになるのかもしれません。

日本のバブル経済崩壊後とインドネシアの通貨危機後 16

自分が大学に入学したのがバブル経済末期の1991年、土地も株価もMAX爆上げして、三菱地所がアメリカの象徴であるロックフェラーセンタービルを買収し、ジュリアナ東京でワンレンボディコン(登美丘高校ダンス部のバブリーダンスみたいなやつ)のお姉さん達が扇子振って踊っている時期でした。

内需と外需の自国経済に及ぼす影響 17

公共事業投資を行っても、お金が企業内や個人の貯蓄に滞留してしまい国内消費が増えないのが日本の状況であり、国内消費は増えても消費材の輸入品比率が高く、国内資産が海外に流出しているのがインドネシアの状況です。

2019年の総選挙を前にインドネシア政治史のおさらい 18

来年の大統領選挙(Pemilu Pilpres Pileg Indonesia 2019)に向けての選挙運動(Kampanye)を解禁するにあたり、投票用紙に印字される順番はジョコウィ現職大統領・マフル副大統領候補組が1番、プラボウォ大統領候補・サンディアガウノ副大統領候補組が2番と決まりました。

コーヒーをもっと楽しくもっと美味しく 19

インドネシアは北回帰線と南回帰線をはさむコーヒーベルトに位置するコーヒー栽培に適した国で、1602年の東インド会社の進出を契機にオランダの植民地支配が300年以上続き、その間アラビカ種のコーヒーが持ち込まれ、気候のいい高原地帯で栽培が開始されました。

インドネシア人の悪魔祓い 20

人間誰しも自分の中に悪魔が潜んでおり、それが何らかのきっかけで表面に出て来るという考え方自体には、背景に宗教が有るか無いかの違いだけで、基本的に理解できる話であり、それを信じるか信じないかは別として、そういう考えがあることを認めることは大切なことだと思います。

-WEBサイト作成

© 2020 バテラハイシステム Powered by STINGER