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のユーザ名を後から変更する方法。adminの使用は危険。
運用中のユーザ名を変更する方法を解説。かつてのデフォルト設定だった「admin」は誰もが使うIDのため非常に危険です。今からでも変更しましょう。
-
ロリポップでWordPress+Basic認証で不具合発生!回避方法解説
ロリポップサーバでWordPressを使いBasic認証を設定する際には注意しないとWordPressが動かなくなる場合も!その回避方法を解説します。
-
Advanced custom Fieldsの条件判定活用方法・フィールドグループ複製より便利
Advanced custom Fieldsの条件判定を使ってカテゴリごとに入力項目を変化させる方法を実例を用いて解説します。投稿フォーム構築が格段にレベルアップします。
-
FC2からWordPressに引越でcanonicalとmeta refreshで転送設定
FC2からWordPressに引越する際の転送設定はcanonicalとmeta refreshの設定でユーザへもGoogle検索エンジンにも引越し情報を伝えられます。
-
Search RegexでWordPress投稿の文字列を検索・置換する使い方解説
WordPressの投稿テキストを検索、置換するプラグイン Search Regexの使い方の詳細解説です。
-
XAMPPのWordPressの更新でFatal error: Maximum execution time of 30 seconds exceededのエラーが発生して失敗する場合の対処方法
XAMPP環境のWordPressアップデート時に「Maximum execution time of 30 seconds exceeded」のエラーが出る。「max_execution_time」を変更して解決する方法の解説。
-
WordPressの Google XML Sitemapsで WebMaster Tools用の sitemap.xmlを生成
WordPressの Google XML Sitemapsで WebMaster Tools用の sitemap.xmlを生成する方法を説明しています。
-
P3(Plugin Performance Profiler)で負荷が高いプラグインを調査し表示スピードアップ!
まずは正確に現状把握を!P3(Plugin Performance Profiler)を使ってプラグインの処理時間を確認!簡単操作で対応すべきプラグインが一目瞭然になります!
-
WordPress 画面が真っ白になる対応の一つ デバッグモード
WordPressで画面が真っ白になる不具合があった場合などのために用意されているデバッグモードの解説です。
-
highlight.jsの設定方法を解説。 Syntax Highlighterから乗換え、高速化にも最適
Crayon Syntax Highlighterの代替案としてhighlight.jsを試してみた。highlight.jsは設置簡単で軽量なシンタックスハイライト。デザインもCSS変更だけの簡単変更。