IT web開発

WordPressについて

2021年11月13日

私自身Webエンジニアを2年ほどやっていましたが、
その際はPHPやhtml、javascriptをガリガリ書いて実装というもので、ぜんぜんwordpressを触ったことがありませんでした。
このブログはwordpressで作っていますが、
wordpressとはなんぞや、CMSツールと言われるが、CMSって何?など
色々触ってみてわかってきたことを話したいとも思います。

wordpressは必ずmysqlを立てないといけません。
そしてwordpressというアプリケーションをDBと繋ぐと、自動的にテーブルが生成され、wordpressに必要な記事だったりなどの情報を入れるテーブルが作成される。

wordpressはアプリケーションです。
わたしたちがよく利用するwebアプリケーションです。
編集画面のURLにリクエストすると、それに対してhtmlが返ってきて管理画面が表示されます。

通常のWebサーバでは、
Apacheを入れ、その中のdocument root配下にphpやhtmlファイルなどを置くことで、アクセスできる。
git管理とかでpushしたりしてアップする

wordpressではWebサーバにインストールすることで、GUI上で管理ができるようになるが、
wordpressで修正できるのはdocument root配下のもの。
wordpressとサーバでdocument rootの対応関係を設定しないといけないのかも!
wordpressでは

自分は

自分はPHPのフレームワークであるCakePHPとテンプレートエンジンであるsmartyを使ってガリガリwebアプリケーションを開発していました。
社内のアプリケーションになり、外部通信はできない使用であり、一回外部通信できるPCにPHPやsmartyなど各種プログラムをダウンロードして、社内開発環境のPCの方に移行するようなことをしていました。
そのため、CakePHPを使ってsmartyを使っていたので、phpファイルにはphpプログラムを、そしてHTMLタグはhtmlファイルやテンプレートファイルに書くものという認識でいました。
 

でもPHPだけを書くものには、おまじないとして、


と書く必要があるので、
結局phpもphpタグで宣言した箇所しか書けない、HTMLなどと同じような形式なんだなと思いました。

wordpressでは、CakePHPやsmartyなどを用いた構造はできず、
それこそMVCみたいなModel-View-Controller構造はできません。
phpファイル内にphpタグ、htmlタグ、CSS、scriptタグなどを書いて構成していくようなファイルを作成していきます。
 

WordPressのテーマとは

wordpressで検索したりすると「テーマ」という言葉をよく見ることが多いかと思います。
テーマとは簡単にいうと、サイト上のデザインのことです。
サイト上のデザインの方が決まっていて、私たちはそのデザインに文章を当てはめていったりするだけで、サイトが完成するという仕組みです。
そのため、よくWordpressはテンプレートが決まっているとか色々聞くことが多いかと思いますが、そのためです。
すでにいろんな方がテーマを作っていて、無料のものもあれば、有料のものもあったりと様々なテーマが世の中には溢れていますが、
その中から自分の作りたいサイトの構成やデザイン、コンセプトにあったテーマを選択して、そのテーマをWordpressに取り込むだけで、
簡単におしゃかっこいいサイトができてしまいます。

なので初心者でも簡単に扱えるのがCMSといったツールで、代表的なものがWordPressになります。

 

WordPressを入れるパターン

1. WordPressが提供している有料サーバを使用する。

この場合は、サブスクで契約することになる。
WordPressが提供する有料サーバを使用するので、wordpressも入っているしMysqlの接続もされている状態で使用できる。
ドメインも無料で発行できたりもする。
そのため、簡単に初心者は導入することができるもの。

 

2. レンタルサーバを借りて、wordpressまでインストールしてもらう。

xserverのようにレンタルサーバを借りると、自動的にwordpressをインストールしてくれて、mysqlまで接続までしてくれる機能がある。
さらに独自でドメインなどを取得して、DNSサーバに設定するなども必要。

 

3. レンタルサーバを借りて、自分でwordpressをインストールして設定などを行う。mysqlなども自分で設定

 

テーマを入れる

上でwordpressを入れる環境ができたら、wordpressにアクセスして管理画面がいじれる状態になったかと思います。
なので次はサイトのデザインを決める作業になります。
いろんなデザインがあってそれらはテーマといい、htmlやphp、cssのコードで構成されています。
いろんな方々がテーマを作っており、それらのプログラムをwordpressに取り込んですぐデザイン適用するといったこともできれば、
独自でテーマを作成してオリジナルのテーマを適用することも可能です!

テーマのプログラムでは決まったフォルダ構成があり、主に以下3つのフォルダで構成されています。
・wp-admin wordpressの管理画面の設定など
・wp-content wordpressの記事などコンテンツ
・wp-includes 知らん

 

 

WordPressではPHPとデータベースはMqSQLしか使用できない。
そのためこれらの知見がないと難しいわけですが、
WordPressってCMSツールで簡単にHTMLとかなくても書けるという優れものじゃないの?ってことですが、
そうです!
 

通常Webサイトでおしゃれなデザインを作りたいとかなった場合、自分でHTMLやCSS書いて綺麗に仕上げていく必要があります。
しかしWordPressには

WordPressの導入方法

WordPredssはそもそもWebアプリケーションです。
そのため普通にWordPressをダウンロードしてzipファイルを展開して自分のWebサーバに所定の箇所に入れる。
それかレンタルサーバなどでいきなりクイックスタートとかですが、wordpressを入れてくれる機能があったりします。
それかアプリケーションサーバとして、すでにWordPressが単体で入っているサーバを提供していたりします。いわゆるWordPress社のサービスです。
 

WordPressのテーマ

そもそもWordPressのテーマとは、
上でも説明した通り、すでにデザインなどが決まっているから、それに応じてHTMLファイルの編集など要らなく住むというというところになります。
もちろん最初からテーマを作成してオリジナルのデザインを作りたいんだー!ってことならば、もちろんそのHTMLやCSS、さらにはPHPが書けることが必須です。
 

テーマに含まれるプログラムとしては、
HTMLやCSSなどのwebサイトのデザイン、レスポンシブデザインなど含む。
PHPなど記事を投稿した後の遷移を処理するサーバサイドプログラム。
などなど。
なのでテーマを作りたい場合は、上記のような2種類について深く知っている必要があります。
 

MySQL

テーマには以下の内容を組み込むようにと、指示されています。
・function.php(いわゆるwordprssのSDK的なもの。これがあることで、例えば記事を投稿するときにこの関数を呼び出せば、mysqlで自動的にテーブル作成とデータの取り込みなどをしてくれる処理をやってくれたり)

決められた関数を使ってテーマを作成することで、自動的にmysqlへの書き込み処理をしてくれたりします。

なので、僕らがテーマを作成するという場合は、いかに気をつけて作れば良さそうです。
1. admin、contenc、indexの3層構造
2. document rootをcontentまでのパスにする。
adminはwordpressをブラウザ上で編集するための管理画面になる。

コーポレートサイトとなると・・・

昨今では、会社のブランディングのためなどで、
自社のサイトで、自社のブログ運営をしているような会社さんを多く見受けられるようになりました。
自社のサイトでブログを運営すると、結局HTMLファイルに直にブログを書いていくという感じになり、どうしてもエンジニアしか作業ができませんでした。
素人が書こうとしてサーバにHTMLファイルアップしたけど、エラーで開けないなどが生じたり、最悪の場合会社の信頼失墜にまで及びます。
投稿したけどデザインがダメだったり、さらにはwebではうまく表示されているけどアプリだと型が崩れてしまっていたりします。

なので、wordprssで統一することで、みんなが気軽に統一感のあるフォントやサイズ、色づかいで描くことができます。
こういった他の個人のセンスによらず、みんなが統一感出せるように強制的に設定できるのもテーマの良いところです。

そうすれば、HTMLファイルを誰かに書いたとしても、プログラムの書き方の違いなども生じたりしますしね。

 

でも自社サイトはwordpressではなくガリガリ構築している場合があります。
ここについてはそんな頻度更新するものでもないので、問題ないと思いますが、
ブログのような毎日更新するようなページや、書きたい人が自由に書ける環境が欲しい場合、ガリガリの構築では対応が難しいです。
内容チェック→ テスト環境での表示確認/エラー確認→本番環境での表示
このようなステップを踏みますが、1日で終わらなかったりします。

自社サイトはcakephpでの構築
ブログの箇所は別サーバでwordpressで構築して、リバースプロキシで更新するみたいなことが対応かな。

-IT, web開発
-

© 2022 Yosshi Blog Powered by AFFINGER5