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
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
wp_mail()関数でWordPressのスパム対策済のメールフォーム作成
WordPressでメール送信フォームを作成するための関数「wp_mail()」の使い方の解説。CC、BCC、添付ファイルも HTMLメールも設定可能。
-
WordPressの 外観のテーマのための関数の並び順
WordPressのカスタマイズの際にテーマのテンプレートを編集しますが、そのテーマファイルの並び順の解説です。
-
WordPressのメディア設定でアップロードするファイルの保存場所を変更する方法
メディアのアップロードするファイルの保存先を変更する方法の解説。現在はオプションとなっていますので、/wp-admin/options.phpから設定します。
-
Export to Textで WordPressを csv出力
WordPressのデータを csv出力する Export to Textの使い方を解説しています。
-
WordPressのPing・更新情報サービス設定方法とPingサーバ
WordPressのPing機能、更新情報サービスの設定方法の解説と Pingサーバのリストを提供しています。
-
WordPressのカスタムフィールド、カスタム投稿、カスタムタクソノミーとは?
WordPressのカスタムフィールド、カスタム投稿、カスタムタクソノミーの基本的な内容を解説。お薦めのプラグインと編集方法も解説しサンプルソースなども紹介。
-
Contact Form 7の使い方・引数で情報を受け渡す方法
Contact Form 7で引数の情報をフォームに編集する方法を解説します。
-
Advanced custom Fieldsのフィールドグループを簡単に複製する方法
Advanced custom Fieldsのフィールドグループの複製の方法の解説。XMLのExport、インポートする機能を利用して複製します。
-
WordPressのメディアの設定解説・uploadsフォルダの変更方法
メディアの設定に関する解説。管理画面から変更できなくなったuploadsフォルダの変更方法についても解説。
-
WordPress 画面が真っ白になる対応の一つ デバッグモード
WordPressで画面が真っ白になる不具合があった場合などのために用意されているデバッグモードの解説です。