このサイトはWordPressで制作しています。WordPressは
Contents Management System(CMS)と呼ばれるWebサイトを簡単に制作できるツールとして利用されています。
簡単にサイトを作ることができ、データベースとも連携させて高度な投稿機能を持つ事も出来ます。
簡単に作れる反面、WordPress特有の用語や考え方があります。それらは単にHTMLやCSS、JavaScriptと言ったフロントエンド要素のみで作るWebサイトとは異なり、PHPやMySQLと言ったバックエンド要素が密接に関係しつつ、クラウドサーバーサイドで動作する高度なサーバーアプリケーションとなっています。
ここではそれらの技術的な要素で作られている学友会コンテンツ収集サイトの技術的な記録として記していくことにします。
★最初に誰でも投稿出来るように『wp-user-frontend-pro』と言うプラグインを導入しました。これは有償版ですが、無償版との違いはPDF・ワード・エクセル・パワーポイントなどのファイルを投稿出来る点です。
コンテンツ収集には誰でもがファイルをアップロードする必用があるので、この仕組みを導入しました。
Webサイトは『https://wedevs.com/wp-user-frontend-pro/』となります。
★WordPressで言うところのメニューとはページ(個々のWebサイトの事)のリンクがまとまって表示されたものとなります。従って、ナビゲーター(方位磁石アイコン)も、おなじようにリンクがまとまったものとなります。
★WordPressはサーバーサイドのアプリケーションで、レンタルサーバーの所定のディレクトリに格納され(さくらインターネットではWWW直下)、インストール時(WordPressの)に同時作成されるMySQLを使ったデータベースと連携して動作します。
したがって、WordPress単体でWebサイトが出来るのでは無く、データベースに対してクエリ(問い合わせ)を行いつつ、同じくサーバーサイドのプログラミング言語であるPHPによってWebサイトが自動生成されるのです。
★このような仕組みはWordPressの至る所でみられ、コンテンツ(この場合Webページ)を作る為の制御画面である「ダッシュボード」も例外ではありません。
★カスタムフィールドと言う考え方。データベースにはフィールドとレコードがあります。ちなみにそれらをまとめたモノがテーブルとよばれるものです。
別の言い方をすると、テーブルの上に個々の要素を唄ったフィールドがあり、そのフィールドに対してレコードと言うデータが与えられます。
もう少し簡単に表現すると「くだもの名」「価格」「産地」と言ったフィールドがあったとすると、【リンゴ】【250】【青森】と言ったレコードが複数記録されます。
それらを一つのまとまりとして扱ったモノがテーブルとよばれるもので、一般的にはデータベーステーブル(くだものー価格ー産地データベース)と呼称します。
★WordPressではこの考え方を用いて(かなり拡張した考え方を使って)個々のコンテンツ(この場合Webサイト)を作る事になります。
この考え方は非常に大切で、WordPressでWebサイトを作る為には知っておかなければ、かなり混乱する事となってしまうでしょう。
表面上はWebサイトの自動生成という動きにみえますが、実はデータベースとWebプログラミングが密接に関わり合って動いているのです。
★投稿はカテゴリーごとに(ここでは夏のイベント、年間計画、議事録など)振り分けることができます。しかし、カテゴリーごとに画像を設定したい場合はどうでしょう。例えば、夏の祭典のカテゴリーには夏っぽい画像、議事録には堅い画像のWebサイトとなってほしいでしょう・・・。
★さて、ここで話は前後するが、これから諸コードの実装作業に入る前にフォルダー構成をおさらいしておきましょう。まず、FTPで「bu-ac-kyoto-sakura」ドメインに接続します。
次に「www」直下「bu-ac-tgakuyu-kyoto.jp」フォルダに入ります。このフォルダにこの準備サイトそのもののWordPressプログラム群がインストールされています(他にも色々ありますが、今のところはふれません)。
そこにある***ファイル(後で書く)
★WordPressの管理画面でメニューを出すには次のコードをfunctions.phpに記述する必用があります。
add_action( 'after_setup_theme', 'register_menu' );
function register_menu() {
register_nav_menu( 'primary', __( 'Primary Menu', 'theme-slug' ) );
}
★functions.phpを触るときはFTPで原本ファイルをローカルPCに保存し、ステップバイステップで慎重に行わなければなりません。万一壊れてしまったら、WordPressが動作しなくなります。【管理画面・外観・表示されない】等で検索してみて下さい。20221018_1421フォルダ>PHPファイル原本>10月17日17時43分ファイルで動作確認しています。これを当面の原本ファイルとします。
★そもそもやろうとしてたことは。
投稿された記事に対してカテゴリーを割り当てて(当然カテゴリーを作る)
その割り当てたカテゴリーの一覧を固定ページに表示させたい。
その為には最初に「外観」に「メニュー」を追加するところから始める。
必用なコードをfunctions.phpに記述するわけであるが、そのときに参考とする
Webサイトは
https://creblo.com/web/wordpress-appearance-menu/#:~:text=%E3%81%BE%E3%81%A8%E3%82%81-,%E3%80%8C%E5%A4%96%E8%A6%B3%EF%BC%9E%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%80%8D%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E7%90%86%E7%94%B1,%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%82%82%E3%81%AE%E3%81%A7%E3%81%99%E3%80%82
となる。
これで、当初希望する状態となるが、そこに「欲」が出てしまし、画像があれば良いんじゃねとなってしまってからドツボに塡まってしまった。
WordPressの神髄まで知るならともかく、現実に運用する上では機能的に要件を満たしているので、これ以上の追求はやめておいた方が無難かもしれない。
将来、技術的に知識が増えた段階で改めてチャレンジし、当面はコンテンツ収集に脳のリソースを割くことにしよう。