BizVektor環境の引越しでメニュー、バナーが消える不具合の対応方法解説
2017/03/12
BizVektor環境の引越しでメニュー、バナーが消える!
コーポレートサイト構築用無料テーマ「BizVektor」
WordPressのコーポレートサイトを作成するために便利な「BizVektor」という無料テーマがあります。
コーポレートサイトを構築するために必要な機能を備えているテーマですので、コーポレートサイトの構築はもちろんのこと、下記のような Webサービスサイトを構築する際にも便利に使えます。
月極駐車場検索エース
http://parking.s-giken.info
今回は、この「BizVektor」を使ったサイトを、開発環境から本番環境(本番から開発環境)へと引越しをする際に、メニューが表示されなくなったり、トップページのバナーが表示されなくなったりする不具合の対応方法について解説します。
要するに、上記の「月極駐車場検索エース」を構築する際に発生した不具合の紹介とその対応方法に関する解説です。
WordPress環境の引越し手順について
WordPressの環境の引越し手順に関しては、下記に記事を書きました。
WordPress環境を引越し、複製、バックアップ、リストアの手順解説
この通り対応してもらえれば、BizVektor環境の引越しも問題なく上手くいきます。
そもそも記事中の「WordPress環境を引越し、複製、バックアップ、リストアの手順解説/4.データベースの値を変更」に BizVektor環境の引越しでは問題が起こりやすいことにも触れています。
ただ、WordPress環境を引越し、複製、バックアップ、リストアの手順解説の記事中ではさらっと触れているだけですので、もう少し詳しく説明しよう、というのがこの記事です。
BizVektor環境の引越しで起こる不具合の原因
WordPressのテーブルの中に「wp_options」という WordPressの設定情報が保存されているテーブルがあります。
この中に項目「option_name」が「biz_vektor_theme_options」のレコードがあり、ここに BizVektorのメニューに関する設定や、テーマオプションの設定情報などが保存されています。
この設定が上手く変更されていない場合に不具合が発生します。
「biz_vektor_theme_options」レコードのサンプルを掲載しようかと思いましたが、非常にいろいろなことが記述されていまして、無謀だと思いましたのでやめにしました。
それもそのはずで、1レコードには「外観」-「テーマオプション」の画面で設定する内容が記述されているからです。
このレコードはすごい文字数になっていますが、実は細かな項目の組み合わせでできています。
たとえば、「contact_link」で検索すると下記のような項目がヒットします。
1 2 |
s:12:"contact_link"; s:40:"http://localhost:8080/wordpress/contact"; |
これは下記のような仕組みのレコードになっています。
このように、テーマオプションの項目名と入力値がセットになって保存されています。そのため、項目はいっぱいありますが、一つずつテーマオプションの画面と見比べていくと何が書いてあるかが分かってくるでしょう。
そして、例えば、新・旧の環境が以下のようだとした場合、
旧環境 http://localhost:8080/wordpress/
新環境 http://www.example.com/
「http://localhost:8080/wordpress/」を「http://www.example.com/」に置換することになります。
その際「s:40」の部分も変更する必要があるわけです。
「s:40」は、上にも書きましたがその項目に入っている値の文字数になりますので、新しい環境が「http://www.example.com/contact」となると 31文字となりますので、下記の様に URLと共に「s:31」と変更する必要があります。
1 2 |
s:12:"contact_link"; s:31:"http://www.example.com/contact"; |
この仕組みを理解していないと、この「s:40」の部分を変更せずに URLを一括置換してしまうことになり、メニューやバナーなどテーマオプションで設定した項目が正しく取り込まれず、表示されないという不具合につながるのです。
新しい環境の情報に置換していく際は、この仕組みを理解して、URLとファイルのパスを置換しつつ、文字数のカウントも新しい環境のものに変更をしていきましょう。
WordPress環境引越しの作業方法
今回解説をした URLやファイルのパスに関する文字列の置換と、それに伴う文字数のカウントですが、私はテキストエディタで検索しながら、一つ一つ手作業で修正を行っています。
文字列を置換すると何文字の増減があるかを計算して、加減算をするだけですが、「月極駐車場検索エース」はいろいろなプラグインを入れてカスタマイズをしましたので、かなり変更点が多くて時間がかかりましたね。
環境を引越しするのは、特別な何かがあった時だけで数か月に 1回程度の頻度でしか発生しませんので「まぁいいか」と思いますが、文字列を置換しつつ、文字数の値も変換するツールを提供してくれている方もいます。
そのツールを使ったことはありますが、ツールをどこまで信頼するかという問題もあり、結局は手作業でやるわけですが...
DuplicatorでWordPress環境引越し
「WordPress環境を引越し、複製、バックアップ、リストアの手順解説」でも紹介していますが、WordPressの環境を引越しするプラグイン「Duplicator」を使うと、ここで紹介したような文字数をカウントする作業なども含めて WordPress環境の引越しを簡単にやってくれます。
もちろん、ファイルのコピーやデータベースのコピーもすべてやってくれます。
「Duplicator」の使い方の記事は「DuplicatorでWordPressを簡単引越し!インストーラー付のバックアップにも」に書いています。
ただ「Duplicator」の難点は、サーバ環境やファイルの容量などに制限があるため、古いサーバー、大きなサイトでは使えないという点ですね。
また、日本語化されていませんし、データベース内のテーブルを全て削除してからテーブルを作り直しますので、仕組みを理解していないと他のシステムのテーブルまで消えてしまうという事態が発生します。
テスト環境を用意して、どんな動作をするのかを試してから使うことをお勧めします。
文字数をカウントする仕組みは使わない場合もある
今回紹介した、項目の値の文字数をカウントし、その数値を編集する仕組みは WordPressの中では多くの処理で使われています。
ですが、実際には、編集されている文字数を利用するか、利用しないかはそれぞれの処理によって違います。
具体的には、今回紹介したテーマ「BizVektor」や、プラグイン「Announce from the Dashboard」は、編集してある文字数を利用しています。
そのため、この数値が違う場合は、正しく処理が行われません。
ですが、WordPressの本体や、プラグイン「WP Admin UI Customize」は、編集してある文字数を利用していないようで、文字数が一致していなくても何の問題もなく動作します。
環境の引越し作業などでこの値が正しくなくなる場合を想定し、正しくなくても動作するように設計してあるのかもしれません。
このように、文字数カウントの値が合っていないと動かないものや、違っていても動くものなどの違いがあるため、動かないときに悩む原因にもつながるのだと思いますね。
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
テキストエディタ秀丸で正規表現による置換の方法の解説
秀丸で正規表現による置換を行うポイントを紹介。置換をしながら特定のキーワードは置換せずに置換結果に残す方法を実例を上げながら解説しています。
-
WordPressの functions.phpがある場所
WordPressのカスタマイズには大切な functions.phpですが、最初はその場所がどこなのか分かりませんのでその説明をしています。
-
EWWW Image Optimizerで画像の圧縮でWordPressを高速化
ページ表示の高速化に使うEWWW Image Optimizerの紹介です。英語で書かれているために取っつきにくいですが設定は3カ所。画像の圧縮もワンクリック。超簡単!
-
FC2からWordPressに引越しの際のデータ加工方法の解説
FC2からWordPressに引越しの際にデータを加工する必要がありますが、その加工方法の詳細を解説。秀丸の正規表現による置換を使い作業時間も軽減する方法や加工のポイントも解説。
-
WordPress 画面が真っ白になる対応の一つ デバッグモード
WordPressで画面が真っ白になる不具合があった場合などのために用意されているデバッグモードの解説です。
-
Unveil Lazy LoadでWordPressを高速化!SEO効果絶大でPVもアップ!
WordPressの表示を高速化するUnveil Lazy Loadの紹介。利用するJSを見直し高速化を徹底的に追求したプラグイン。入れるだけで高速化するので使わない手はない!
-
WordPress csvインポート、エクスポートのプラグイン
WordPressから csvファイルをエクスポート、インポートする方法を紹介しています。
-
WordPress投稿にPHPを記述するショートコードの使い方add_shortcode
WordPressの投稿ページで PHPの処理を行うには add_shortcode関数を使ったショートコードという機能を利用します。
-
WordPressのバージョンアップをしたら「the_content」でコンテンツが表示されなくなった
「the_content」でコンテンツが表示されないのは仕様が変更されたためでプログラムの修正が必要です。
-
BackWPupでバックアップ・Jobの設定・保存先の情報設定
BackWPupその3。Jobのバックアップファイルの保存先の設定についての解説。