WordPress マルチサイトはプラグインに気を付けよう!

  • ---

    LINEで送る
  • -

    ブックマーク
  • -

    pocket
  • -

    rss
wordpress image
イラストACの画像をもとに加工しています。

WordPressのマルチサイトでサブサイトの外観 -> メニューでメニューが追加できない、編集できない現象に見舞われました。

原因は、Category Order and Taxonomy Terms Orderプラグインで、マルチサイトでのプラグインの有効化の方法にありました。

プラグインでデータベースを使うものは同じように何らかの誤動作が起きる可能性があると思われます。

原因の詳細とその対処方法です。

サブサイトのメニュー編集がおかしい ???

サブサイトのテーマでメニューを編集しようと普段通りにメニューを追加していきました。

ここでおかしな現象に見舞われます。

まず、『外観 -> カスタマイズ -> メニュー』でメニューを作成しました。そして、別の画面に切り替えて再びメニュー設定画面に戻ると、先ほど作成したメニューが表示されません。

設定前の初期状態に戻っていました。そして、『外観 -> メニュー』でメニューを新規追加してもその内容が画面に反映されません。
さらに、メニューの編集が全くできない状態でした。

よく見ると、”位置の管理” タブもありません。phpのログを見ると、データベースエラーが発生していました。

発生したデータベースエラー

phpのログ
WordPress database error Unknown column 't.term_order' in 'order clause' for query SELECT t.*, tt. * FROM wp_2_terms AS t INNER JOIN wp_2_term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN ('nav_menu') AND t.name IN ('●●●') ORDER BY t.term_order ASC LIMIT 1 made by include('wp-blog-header.php'), include( 'wp-load.php'), include('/●●●/wp-config.php'), include('wp-settings.php'), do_action('wp_loaded'), WP_Hoo k->do_action, WP_Hook->apply_filters, WP_Customize_Manager->wp_loaded, do_action('customize_register'), WP_Hook->do_acti on, WP_Hook->apply_filters, WP_Customize_Nav_Menus->customize_register, wp_get_nav_menu_items, wp_get_nav_menu_object, g et_term_by, get_terms, WP_Term_Query->query, WP_Term_Query->get_terms

エラーの内容は、『wp_2_terms テーブルに term_order カラムがないから処理ができないよ?』というものです。

原因はサブサイトのプラグインの有効化方法にある

ぼくはサブサイトを作成するときに、次の作業をしました。

  • すべてのプラグインを停止。
  • サイトネットワーク管理のプラグイン設定画面からすべてのサイトのすべてのプラグインを一括でまとめて有効化。

ここに落とし穴がありました。

Category Order and Taxonomy Terms Order プラグインは、データベースの wp_terms テーブルに term_order カラムを追加します。

しかし、さっきの方法ではサブサイトの wp_terms テーブル(wp_2_terms) にカラムが追加されませんでした。

対処方法

サブサイト作成時の最初のプラグインの有効化はサブサイト内で実行する

はじめに疑ったのは、データベーステーブルにカラムが追加されていないということは、最初のプラグインの有効化がうまくいってないのでは?ということです。

ということで次の作業をしました。

  • ネットワーク管理の画面から Category Order and Taxonomy Terms Order プラグインを停止。
  • サブサイトのプラグイン設定画面からプラグインを有効化。

すると、wp_2_terms テーブルに term_order カラムが追加されました。

WordPressのマルチサイトで気を付けること。キャプチャ-01
サブサイトのデータベース内容
WordPressのマルチサイトで気を付けること。キャプチャ-02
親サイトのデータベース内容

まとめ

マルチサイトで作成されたサブサイトの最初のプラグイン有効化は、それぞれのサイトで行う必要があるときがあります。

その後は、ネットワーク管理のプラグインでまとめて管理しても問題ありません。

今回は1つのプラグインで発生しましたが、データベースに変更を加えるプラグインは同じバグが発生することがありえます。

おそらくプラグインの有効化の処理で、サイトネットワークからの有効化処理が不十分だったと思われます。

マルチサイトはプラグインでバグが発生するのは『WordPressあるある』なので、そんなに驚くこともないです。

プラグインによっては、マルチサイト対応あり・なしを記載しているくらいなので、『お前が気をつけろ!』と言われればそれまでですが...

WordPressの本
post-cta-image

たくさんあるなかで、WordPressの基本が学べる、目的別に学べる本を選びました。

  • WordPressの基本
  • Webサイト作成から運用まで全体的に学ぶ
  • ブログサイトの運営からサイトの収益化を学ぶ
  • サイト作成・運営 + 集客の方法を学ぶ
  • WordPressからPHPプログラミングを学ぶ
  • 最新のWordPress(バージョン5)に対応した本

の7冊です。どうしてもネット上で調べて勉強するのが苦手という人におすすめです。

この内容をモノにすればほかの本は必要ありません。あとは自分の力で、書籍を使わずにインターネット上にある情報だけで学んでいけます。


WordPressの本7選

SNSでも記事を配信しています。
コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

top
この記事を気に入ったらぜひシェアも!!