かなり古いバージョンのワードプレス(WordPress)サイトをアップデートするお手伝いをしました。ワードプレスのバージョンが4.6、MySQLが5.5、PHPが7.4という仕様でした。サポート期限が過ぎているやつばかりです。(笑)これらをエラーチェックしながらアップデートするのはなかなか骨の折れる業務です。
今回は、レンタルサーバーを移転することで、システム関係すべてを最新版にするという荒業で実施しました。これまで利用していたのが、さくらインターネットで移転先サーバーがエックスサーバーです。
さくらインターネットからエックスサーバーに移転
新しいサーバーですと最初から最新の環境なのがよい点です。
現状サーバー エックスサーバー
・WordPress4.6 → WordPress6.2
・MySQL5.5 → MariaDB10.5
・PHP7.4 → PHP8.0.25
となります。
今回は、「さくらインターネット」から「エックスサーバー」への移転になりました。ただしこれは、さくらインターネットが悪いという意味ではなくて、長年アップデートしてこなかったことによる環境が古すぎて、いっそサーバー移転したほうが手っ取り早く最新環境にできる、ということです。
シンプルなワードプレスは簡単移転サービスで処理できました
ワードプレスは簡単移転処理のメニューがあるので、バージョンが古くてもだいたいスムーズに移転できます。今回の案件には複数のワードプレスが入っていて、ほとんどこの簡単移転サービスでうまくいきました。
ただ、メインのサイトだけはデザイナーさんのカスタマイズがかなりしてあり、なかなかやっかいでした。通常の簡単移転サービスのメニューではエラーになりうまくいきませんでした。ワードプレスのバージョンが4.6と古すぎることも原因かもしれません。
カスタマイズされたワードプレスはマイグレーションを使って移転しました
そこで「All-in-One WP Migration(オールインワンWPマイグレーション)」というプラグインを使ってみました。
これを使ったところ、うまく記事の移転ができました。本当に優秀なプラグインですね。
残されたエラーの処理がたいへんでした
さて、ここからが移転作業の本番です。
デザイナーさんがカスタマイズした仕様がなかなか特殊な作り方で理解するのが大変でした。カスタムフィールドのエラー表示があったので該当するカスタムフィールドプラグインを一旦停止しました。またトップページなど表示する主要ページは、PHPファイルの中にワードプレスの記事を読み込む関数が多数入っていました。
しかも、その関数がエラーを起こしています。こんなエラー表示がされていました。
Warning: Undefined variable $additional_loop in /home/xs******/xs******.xsrv.jp/public_html/****/wp-content/themes/nicotto/date.php on line 29
新BINGのChatGPTに回答をもらいました
このエラー表示を新BINGのChatGPTにて調べてみました。
query_posts関数はPHPのバージョン8.0で非推奨になりました。そのため、PHPのバージョンが7.4から8.0にアップグレードされた場合、query_posts関数がエラーを引き起こす可能性があります。WordPressでは、query_posts関数の代わりにWP_Queryクラスを使用することを推奨しています。
PHP7.4で表示していた
<?php query_posts($query_string . ‘post_type=post&posts_per_page=10&paged=’.$paged); ?>
をPHP8.0にするにはどのように書き直せばいいですか?
その回答が以下のとおりでした。
このエラー原因はPHP7.4に依存した関数だったらしく、PHP8.xだと動かないことが判明。そして、その解決策を表示してくれるのがにくいです。このコードに書き換えればよいということです。
<?php $paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;
$args = array(
‘post_type’ => ‘post’,
‘posts_per_page’ => 10,
‘paged’ => $paged
);
$query = new WP_Query($args); ?>
PHPの記述は、開始時に「<?php 」と終了時に「 ?>」が必要なので、その分はコピペで足しました。
また、もうひとつのエラーに関しても適切な回答を得ることができました。
示されたコードはこれです。
<div class=”nav-previous”><?php previous_post_link(); ?></div>
<div class=”nav-next”><?php next_post_link(); ?></div>
これには驚きました。
このコードを該当部分にコピペで貼り付けたところ、無事に問題解決できました。
ChatGPTは本当にすごいですね。PHPのコード記述については知らない私でもエラー改善をすることができました。
無事にサーバー移転ができました
新BINGのヘルプのおかげもあり、無事にサーバー移転ができました。いやーすごく助かりました。
やはりエックスサーバーにすると表示がサクサクと早いです。企業がWordPressでサイト運用をするのなら、今はエックスサーバー推しになりますね。
▼エックスサーバーに関する記事一覧
企業がWordPressでサイト運用をするのなら、エックスサーバーを活用することをおすすめしています。
上記のカテゴリページはエックスサーバーに関する記事が紹介されています。
この記事を書いた遠田幹雄は中小企業診断士です
遠田幹雄は経営コンサルティング企業の株式会社ドモドモコーポレーション代表取締役。石川県かほく市に本社があり金沢市を中心とした北陸三県を主な活動エリアとする経営コンサルタントです。
小規模事業者や中小企業を対象として、経営戦略立案とその後の実行支援、商品開発、販路拡大、マーケティング、ブランド構築等に係る総合的なコンサルティング活動を展開しています。実際にはWEBマーケティングやIT系のご依頼が多いです。
民民での直接契約を中心としていますが、商工三団体などの支援機関が主催するセミナー講師を年間数十回担当したり、支援機関の専門家派遣や中小企業基盤整備機構の経営窓口相談に対応したりもしています。
保有資格:中小企業診断士、情報処理技術者など
会社概要およびプロフィールは株式会社ドモドモコーポレーションの会社案内にて紹介していますので興味ある方はご覧ください。
お問い合わせは電話ではなくお問い合わせフォームからメールにておねがいします。新規の電話番号からの電話は受信しないことにしていますのでご了承ください。
【反応していただけると喜びます(笑)】
記事内容が役にたったとか共感したとかで、なにか反応をしたいという場合はTwitterやフェイスブックなどのSNSで反応いただけるとうれしいです。
遠田幹雄が利用しているSNSは以下のとおりです。
facebook https://www.facebook.com/tohdamikio
ツイッター https://twitter.com/tohdamikio
LINE https://lin.ee/igN7saM
チャットワーク https://www.chatwork.com/tohda
また、投げ銭システムも用意しましたのでお気持ちがあればクレジット決済などでもお支払いいただけます。
※投げ銭はデジタルコンテンツ購入という通販のしくみにしました。
※投げ銭は100円からOKです。シャレですので笑ってください(笑)