WordPress外で管理していた静的なページを、WordPressで管理できるようにする備忘録

ネット活用

WordPress で作ったサイトとは違うデザインのWebページを、WordPress で管理する方法の備忘録です。

状況と背景

  • 1つのドメイン下での話
  • WordPress をインストールして使っていたが、ランディングページ的なものを作りたくなり、しかし WordPress のテンプレートには当てはめたくなかったので、WordPress とは切り離し、静的に作成した
  • この場合、sitemap.xml をどのように管理したらよいか?が課題になる
  • 静的に作ったページを WordPress から吐き出した sitemap.xml では管理ができないので、sitemap.xml は別で作成して管理するようにした
  • またこの場合、WordPress 側で更新があった際に sitemap.xml が更新されないという問題があり、これについては時々更新すればいいか、ぐらいの考えとした
  • この状態で2年ぐらい過ぎたけど、なんだか気持ち悪いので静的ページも WordPress  管理にできないものか?と考えた
  • ちなみに WordPress のテーマには Cocoon を使っている

対応の方向性

  • WordPress の要素を含まない、固定ページテンプレートを作ればよいのでは?と考えた(以下:空テンプレートと呼ぶ)
  • 固定ページの本文に静的ページのソースをまるごと流し込むイメージ
  • 管理上、記事タイトルは入力するけど、それもフロントページには表示しない(WordPress 側にもっている情報で表示させたいものはない)

空テンプレートの作成と設置

空テンプレートの作成とファイルの設置については以下が参考になりました。

①テンプレートファイルの作成

  • 新規にPHPファイルを作成する
  • 中身は以下とする
<?php
/*
Template Name: name
*/
?>

<?php while (have_posts()): the_post(); ?>
<?php the_content(); ?>
<?php endwhile; ?>
  • name の部分は任意の文字列(多分ファイル名と合わせた方がよい)
  • 最後の3行は固定ページの本文を表示させる部分になっている

②ファイルの設置

  • Cocoon は子テーマ運用しているので以下
/wp-content/themes/cocoon-child-master/

③自動整形の無効化

WordPress のエディタは自動整形機能によってHTMLタグが自動的に挿入されます。今回の場合、<html>から記述するソースを本文に入れるので、自動整形機能が動作していると、そこらじゅうに<p>タグが入ってしまい、レイアウト崩壊を招きます。よって、自動整形機能の動作を、特定の固定ページだけ止めたいということになります。

これについては以下の記事が参考になりました。

function.php の記述 + 固定ページ本文の追記でやりたいなと思いましたが、Cocoon 関連のファイルはいじりたくなかったので、Toggle wpautop というプラグインを導入することにしました。記事ごとに自動整形機能の動作を切り替えることができます。

④目次を非表示

Cocoon では自動で目次を生成して、見出しタグの前に表示する機能があるので、この機能をオフにします。固定ページについては記事別に表示/非表示ができます。

今回のページでは見出しタグの中身が画像で、その部分が目次用のコードに書き換えられてしまうということが起こり、目次機能をオフにすれば解決しそう?と考えたところ、正解となりました。

注意点

元々が静的なページだったのでディレクトリとファイルががFTPサーバーに存在します。この場合、WordPress は実際に存在しているものを優先表示するので、WordPress で管理しようとしているものが表示されません。

CSSファイル、JSファイル、画像ファイルなど、すでに設置してあるものはそのまま活かしたいと思ったので、今回については以下のようにしました。

ファイルの置き場
jnagano.com/kowakunai_set/
ページのURL
jnagano.com/kowakunai/

こうすることでファイル内に記載されているURLを全て書き換える処理が必要となりましたが、自分的にはすっきりしたのでこれでよしとしました。

この記事を書いた人

Webディレクションや動画編集を20年以上やっています。詳しいことはプロフィールをご覧ください。名前のところをクリックしてくださいね

じぇいをフォローする
ご質問などありましたらば