CMS Blue Monkeyで作成されたサイトをWPにそのままのデザインで表示されるように移行したいというご相談を頂きました。
目次
WPサイトへの移行について
CMS Blue Monkeyで作成されたサイトをWPにそのままのデザインで表示されるように移行しようとしています。普通に作り直した方が早いことはわかっているのですが、業務上どうしてもそのままの形で変更する必要に迫られています。
◆行ったこと
エクスポートしたファイルをPHPに変更し、WPのテンプレートに対応するようコードを変更していたのですが、 functions.phpに相当するファイルがどれになるのか見当がつかない状態です。エクスポートしたファイルは画像の分で全てで、header.php、footer.php、index.php及びstyle.cssは自作したものです。
◆
この中でfunctions.phpに変わるものがあるのか、一からfunctions.phpを作る必要があるのか、もしくはCMS Blue Monkeyで作成したサイトを簡単にWP用テンプレートにする方法がありましたら、ご教授頂けますと幸いです。
また「HTML To WordPress」というオンラインサービスでは変換することは不可能でした。
移行の手順
ご相談ありがとうございます。
インポートツールについては、利用者の多いCMSやブログからのインポートには対応するプラグインがあります。
Blogger、Tumblr、他
WPcodex コンテンツのインポート
ただ、これらはあくまでも「ブログ記事のインポート」ということで、デザイン等は反映されないと思います。
なので基本的な考え方は今のHTMLをWordPressテーマにするという考え方になってくるでしょう。
オリジナルのテーマを作るのに最低限必要なのはstyle.cssとindex.phpです。functions.phpはWordPressテーマで独自に使いたい関数やPHPの処理をまとめておくためのものです。
「ブラウザに静的なページを表示している」「一般的なコーポレートサイトである」など現在のCMSで、何か特殊な事をやっていない限りは特に必要ないかもしれません。
そもそもWordPressで何がしたいのか
ご質問頂いた内容だけですと、WordPressを導入する目的がわかりませんでした。一応以下の内容も確認してみてください。
WordPressで何を更新したいかによって手間も大きく変わってきます。
1.全ページをWordPressの固定ページで管理したい
貴サイトがコーポレートサイトなどで、faqページ、flowページなどの主要ページを全て固定ページ機能で管理したいということであれば、page.phpを作ることになるでしょう。
page.phpというのはWordPressの固定ページで入力されたタイトル・本文などを表示させるPHPテンプレートです。(全てのページの共通部分を一つのテンプレートにし、タイトルや本文をWordPressのDBで管理し出力)
ただし、編集画面へのHTML入力は既存のHTMLタグが上手く反映されないこともあります。(自動で改行がされたりする等)
WPの編集画面に自動整形なしにHTMLソースをそのまま貼り付けられるrawHTMLといったプラグインもあります。(※最新バージョン5.0以降では僕は動作を確認していません)
WordPressの自動改行・自動変換を無効化するプラグインraw HTML
凝ったHTMLレイアウトの場合はpage-faq.phpなどで既存のHTML要素をそのまま貼り付ける形にすることもできます。
ぶっちゃけ今のfaq.htmlをpage-faq.phpにしてもexample.com/faqで表示できるはずです。
ただし、WordPressの管理画面からエディタで編集するようなことはできません。サーバーのファイルを直接管理する形になります。
こうなるとWPで表示しているとはいえ、”CMS”とは言えない状態になってしまいますけどね。静的サイトとかわりません(笑)
2.既存ページはそのまま表示だけできればいい。columnやニュースをWordPressで管理したい
既存ページはそのまま表示だけできれば良くて、columnやニュース、ブログ記事だけをWordPressで管理したいという場合は固定ページのテンプレート化をする必要すら無いかもしれません。(移行の手間を大きく省ける)
例えばこちらのページは
https://website-homepage.com/hogehoge/
当サイトのドメイン直下にhogehogeフォルダを作り、「/hogehoge/index.html」とだけ記載したindex.htmlを置いたページです。
このようにWordPressはHTMLとも共存できます。columnだけ更新したいのなら、/columnというディレクトリにWPをインストールすれば、/column以降だけをWPで管理することができます。
example.com/ 既存のHTMLをそのままアップして表示
→ /column WPをインストールして記事だけ更新
という形にすることもできるのです。
投稿を表示するPHPテンプレートがsingle.phpです。
さらに、コラムのカテゴリーを作って一覧を表示させたい時などはarchive.phpやcategory.phpを作る事になります。
同じデザインを反映させるにはやはりオリジナルテーマを作るという考えにはなりますが、コラムやニュースなど更新部分は共通のシンプルなテンプレートだと思うのでその分テーマもシンプルに作れるかもしれないなと思いました。
僕もWordPressを始めたころはHTMLとCSSしか理解がなかったので、「同じようなレイアウトのテーマをインストールして、CSSの上書きのみでデザインを既存のサイトと同じにする」という荒業もやったことがあります。どうしてもレイアウトが違う所だけテーマのHTML要素をいじる形でした。(あまりおすすめはできません。)
一からテーマを作るのはかなり勉強が必要だと思いますが、既存テーマファイルの構成を見ていくと、WordPressの仕組みも分かってくると思います。
最終的にテンプレート階層とテンプレートタグがある程度理解できればテーマは作れると思います。
WPcodex テンプレート階層
WPcodex テンプレートタグ
業務上必要ということなので避けては通れないと思います。テーマ作成でまた疑問点が出てきたら相談してください。
まとめ
・WordPressテーマは、共通部分のHTML要素をまとめ、タイトルや本文をDBから引っ張り出して表示するもの
・functions.phpが必要かどうかは今のサイトにどんな機能があるかにもよるが、単純なページ表示だけなら必ずしも必要ではない
・固定ページはpage.phpで、独自のHTML構成の場合はpage-【スラッグ(URL文字列)】.phpにすると .com/【スラッグ】でそのテンプレートファイルを優先表示する
・更新する記事などは「投稿」single.phpで表示する。
・page.php single.phpのようにファイル名で役割が変わってくる。その規則+テンプレートタグでDBの情報を表示している
・HTMLとの共存は可能。どの部分をCMS化してWPの機能をどう使いたいのかで工数も変わってくる
といった所でしょうか。
参考にして頂ければ幸いです。