エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


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」で検索すると下記のような項目がヒットします。
 

 
これは下記のような仕組みのレコードになっています。
20160506_wp_01
 
このように、テーマオプションの項目名と入力値がセットになって保存されています。そのため、項目はいっぱいありますが、一つずつテーマオプションの画面と見比べていくと何が書いてあるかが分かってくるでしょう。
 
 
そして、例えば、新・旧の環境が以下のようだとした場合、
  旧環境 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」と変更する必要があります。
 

 
 
この仕組みを理解していないと、この「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」は、編集してある文字数を利用していないようで、文字数が一致していなくても何の問題もなく動作します。
環境の引越し作業などでこの値が正しくなくなる場合を想定し、正しくなくても動作するように設計してあるのかもしれません。
 
 
このように、文字数カウントの値が合っていないと動かないものや、違っていても動くものなどの違いがあるため、動かないときに悩む原因にもつながるのだと思いますね。

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

WordPressのメディア設定でアップロードするファイルの保存場所を変更する方法

メディアのアップロードするファイルの保存先を変更する方法の解説。現在はオプションとなっていますので、/wp-admin/options.phpから設定します。

ショートコード+ウィジェットでサイドバーに人気記事を表示させる方法

WordPressのサイドナビゲーションに人気記事を編集する方法です。プラグインを使わずウィジェットにショートコードで任意のPostIDを指定することで編集する方法です。

Advanced Custom Fields(ACF)のアドオン・繰り返しフィールドの使い方解説

Advanced Custom Fieldsのアドオン・繰り返しフィールドについて解説。繰り返しフィールドは投稿者が入力フィールドを追加しながら情報を入力できるフィールドを提供。

CSV Importerで WordPressにcsvを取込む

WordPressに csvファイルを取り込む CSV Importerの使い方の解説です。

Advanced Custom Fields管理画面の全項目完全解説・カスタムフィールド決定版!

カスタムフィールドを設定する最高のプラグイン。設定できる項目を全て網羅して解説。投稿の項目だけではなく、カテゴリやユーザ情報の項目を増やすことにも使えます。

Author hReviewでWordPressに構造化されたレビューサイトを構築

レビューサイトを構築するためのプラグイン。レビューの入力とレビュー対象のアイテムの情報を構造化データにするHTMLを編集する機能を提供します。

Throws SPAM Awayでコメントスパム対策を完璧に。自動削除で運用の手間ゼロ

コメントスパム対策の決定版ともいうべきプラグイン。簡単な設定で自動的にスパムコメントを削除してくれるので煩わしい作業はゼロに。細かな設定も可能。

Advanced Custom Fieldsのカスタムフィールドの登録上限が max_input_varsに影響する問題の対処方法

Advanced custom Fieldsには登録できるフィールド数に上限があります。php.iniのmax_input_varsによる制限ですが、フィールドグループを分割することで解決できます。

実測比較・レンタルサーバスピード選手権!WordPressが速いのは?

WordPressが一番速く動くレンタルサーバはどれだ!実際にこのエス技研ブログをコピーして8つのサーバを比較。結果はヘテムル、X10、さくらプレミアムが同レベルで優秀。

WordPressの記事編集で文字が自動変換される要注意な文字列

記事を編集する際、入力した文字とは違う表示のされ方をする文字、アポストロフィ、ダブルクォート、円マーク、三点リーダ(…)など、その解説と対応方法です。