どうも!スカーレット坊やです。
今回は投稿タイプ・固定ページ・カテゴリー・タグ・アーカイブ・タクソノミー・テンプレートの説明と関連性の回になります。
この回の結果はちょっと「もやっと」させてしまうかもしれません。今までの学びが無駄になった!と思う人も多いかもしれません。しかしスカ坊は思います。
これが勉強していく事なんだと。そして、学んだ事が無駄になることは絶対に無いんだ
それを前提として、読んでいただけるととっても嬉しいです!
それでは、本題へどうぞ!
ある時、WordPressのパーツの関連性が分からなくなった。
投稿タイプ・固定ページ・カテゴリー・タグ・アーカイブ・タクソノミー・テンプレート。これらの関連性が分からなくなった。
ランディングページの制作ばかりに目を取られて、概念を勘違いし、このパーツ同士の関連性が分からなくなったのである。
その結果、何をどう触ると、何が起きるのかが分からなくなってしまった。と、いうよりも、自分が何を触っているのかが分からなくなった。
これがなんでランディングページ制作に弊害が出たのかというと?
いや、正直弊害が出た、という言葉は適切ではないのかもしれない。
正確にはページ制作に弊害が出たというよりも、スカ坊が辿ってきたフローが問題だったと言える。
スカ坊の作るランディングページを超簡単にフローにしてしまうと
- プラグインElementor Proをインストールする
- 固定ページをElementor proで編集、LPを完成させる
- 固定ページをトップページに設定する
- ドメインを取得・サーバー契約をする
- 作ったLPをFTPにアップして公開する
- 管理画面を設定してクライアントへ渡す
色々端折りすぎていますが、こんな感じになります。この中にタクソノミーがどうのとか、アーカイブがどうのとかは出て来ない。強いて出てくるのは「カスタム投稿タイプ」くらいである。
要するにフローの中にわからない点が「出て来ない」のである。
これは今だからそれがわかるのであって、当時は全然わからなかった。
すぐにメンターさんに相談した。
※注:メンターさんもこの時そもそも必要ないなどとは思っていません。スカ坊が聞いたことに答えてくれています。
現在の知識の中でいいので、WordPressの関連図を作ってみてください
そう言われて、早速関連図を作った。その作った関連図を早速見ていただいた。
お~!!素晴らしい!結構ちゃんと理解されてますね。
えっ!?
wordpress公式が、テンプレートの繋がり(つまり、各ページがどのような処理順で表示が行われているのか?)について図解したものがあります。 お断りしておきます、.phpは無視して、各ページの繋がりに注目して下さい。
タクソノミーの繋がり、タグの繋がり、スラグの繋がり、idやもっと細かくサブタイプだったり
こういう繋がりが張り巡ってるのがwordpressなので、実はスカ坊さんのイメージは的外れでもありません。
スカ坊さんの悩んでおられるのは「始点と終点」なのだと思います。
どこで始まって、どこで終わるのか。
1の要素が2つの要素に繋がってたり。どういうことだ?ってなってるんだと思うんです。
その正解がこの図ですね。
この図はすべての遷移で「左」から「右」に遷移します。
注意事項として遷移は左から右ですが、元をたどる場合は右から左に読んでください。
ということは 投稿はpage.phpからスタートして左へ行くんですね
その通りです。
つまり、超大元は一緒で「Singular Page」という枠組みの中で
「分岐点の違い」によって、固定ページと投稿ページが変わるのです。
「概念の違い」を何となく分かっていたってことなので、これはもう素晴らしいの一言ですね。
(やった褒められた、よくわからないけど嬉しい)
この図だけみても良くわからないし、全然似てもいないので、ちょっと伝えにくい。つまりメンターさんの目から見ると。
- 大きく分けた分類は間違っていない
- タクソノミーも他とつながっていない
- タグやカテゴリーの位置も合っている
- テンプレートも投稿と固定ページとカスタム投稿タイプにつながっている
- カスタムフィールドの適用先も合っている
という事であり、問題ないという。信じられないことなんだが、
さっぱりわからないと思いながらも、理解していたようなのである。強いて言うならアーカイブがない。という事だった。
実はこのアーカイブがない、という事が、タクソノミーの理解を阻害しており、スカ坊の頭を悩ませていたのである。スカ坊のこの時の頭の中はというと
- カテゴリーとは → 投稿の種類「何について書いているか」
- タグとは → カテゴリーをさらに細分化したもの
- カスタムタクソノミー → 「カスタム投稿タイプ」に対して追加するカテゴリー(?)
- テンプレート → 投稿や固定ページに使うフォーマット
- 固定ページ → 時系列を持たない独立したページ(プロフやプライバシーなど)
- 投稿タイプ → 時系列を持つ、ブログ記事など
- アーカイブ → 切り離されたなにか(?)
段々と整理されてきました(?)になっているキーワードが「カテゴリー」と「タクソノミー」に絞られましたね。
前に示したタクソノミーのページってどこ項目に紐づいていたか覚えてられますか?
別物扱いされていたような気がします
見て頂いた通りですね
そもそも「投稿ページ」「固定ページ」とは、別概念であることがハッキリと示されているわけですね。ここはアーカイブの場所にいますよね。
出力先が「index.php」で共通してるので、最終結果で見てると同じに見えるんですが
実は全然違います。
でも、見て頂いたら分かる通り「archive.php」に繋がっているので
タクソノミーってのは「アーカイブページ」を作るためのものなんです。
そうか、カスタム投稿タイプとも、アーカイブphpやpageにいくまで一緒にならないのか・・・・。すみません、アーカイブページ ってよく出てくるんですが、これってどういう物?なんですか?
アーカイブとは記事を一覧表示する機能なので、投稿一覧を作ることができるものです。
カテゴリーをクリックした際に、そのカテゴリーに属する記事が一覧で表示されると思いますが、そのページがアーカイブページになります。
カテゴリーの他にも、タグや、日付(日別・月別・年別)での結果もアーカイブページになります。
分かりやすく言うと「ソートされたページ」です
なるほど・・・・。 ん?でもそもそも何をソートしてるんだ?
投稿や固定ページをソートしてる?だとしたらなんでこのツリーになるんだろう?
アーカイブと投稿や固定ページは別物になっていますよ。
違いますよ、固定ページや投稿はソートされる側です。どのようにソートをして、テンプレートファイルを表示しているのか?ってところが重要ですね。
.phpって書かれている子たちがテンプレートファイルです(※テンプレートは別物です)
なので、作成者のフィルターを通ったら、作成者アーカイブって「条件」を通って「author-なんとか.php」に辿り着く。みたいなそんなイメージです。
「あるフィルターに引っかかった記事を集めて、一覧で表示する」のがアーカイブページの役割だとすれば、
「あるフィルター」=ソート
「一覧が表示されるページ自体」=アーカイブページ(テンプレートファイル)
となります。
ソートする対象は実は何でもいいんです。
ソートした結果を表示するのがアーカイブページの役割なので。
何でソートするのか?を決めるのは、もっと手前の部分の役割ですね。
つまりソートするためのアイテムになるカスタムタクソノミーはここに入ってくるわけですね!
「ソート結果をソート内容によって出し分けたい」という要望の結果生まれたのがこの階層構造で、この階層構造に従って、wordpressではページが生成されている。というのが大前提です。
その上で「各要素がどこに作用しているのか?」というのも、この図解の中に封入されている。っていうイメージですね。
そういう事か・・・
つまりこのアーカイブのグループの中には、ソートのためのすべての要素が入っている。でもそれは、「アーカイブ」の結果を表示するために必要なものであり、ここまで大きく概念が占めてくるのはWordPressがブログツールだからなんだ!
ブログツールである以上、ソートが全て、それがユーザビリティにおいて一番重要だとWordPressは考えているんですね。
この図のような切り分けが出来ていなかった事が最大の原因だった。この切り分けと、それぞれが何の機能を果たしているのかという役割を理解できれば。冒頭のような迷路には陥らなかった。
もし同じような事で悩んでいる人がいたら参考になってくれるととても嬉しいです。
もしかしたらPHP以外でWordPressを挫折する人がいたらこのようなことが原因なのかもしれない。
それと、今このブログを執筆して分かったこともある。それは、このパーツ達はブログ運営をするに当たり、本当に理解しなくてはいけない事だった。ブログを書いてみて初めてその事がわかったとも言える。
初歩で躓いてるねぇ?「坊やだからさ」
それではまた!