■実現したいこと
WordPressで管理するwebサイトにて、別途DBサーバ(※)を使って動的にページ生成したい
※…WordPress用のDBサーバではなく、コンテンツ生成用DBを別途作成して使いたいと思っています。
具体的な一つとして、気象庁ページから情報をとってきて取り込み(その処理は別で実施)、
そのデータをPHPで動的にとってきて、(URLごとに固有の)webページを生成したい次第です。
■環境情報
KAGOYAサーバで、以下2サーバを使っています。
・WP専用サーバ
・DB専用サーバ(MySQL)
…最初に契約していたWP専用サーバでは、上述内容が実現しきれず、別途DBサーバを契約する必要があったため、(IPの異なる)別サーバ契約になっています。
■前提理解
WordPressで管理するページでのデータベース接続は、PDOではなく「$wpdb」というあらかじめ用意された変数を使う必要がある。
なので、適切な接続情報を使って wpdb クラスから独自のオブジェクトをインスタンス化する必要がある。参考サイト:関数リファレンス/wpdb Class
■詰まっている点
Bodyメインエリアのコンテンツを生成するテンプレページにて、以下記述。
<?php //データベースへの接続変数を作成。ユーザ名、パス、DB名、WPでは無い方用DBのIPを、それぞれ'で囲って入力。 $test_wpdb = new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST); //testIDが1の情報をすべて取得。 $row_contents = $test_wpdb->get_row("SELECT * FROM $test_wpdb->TestTable Where testID = 11"); // 11が表示される想定でおりましたが、0と表示。 echo $row_contents->testID; ?>
正しく情報を取れてきていない状況です。
初心者のため、WordPressの構造がどうなっているか、今回関連する各コードがどう動いているかを把握しきれている自信が無いのですが、考えられる限り色々試した結果、問題解決に至らずご質問させていただいております。
■備考・その他
●問題箇所の特定を目的として、そもそもコンテンツ用のサーバに繋がっているのか確認したかったのですが、(今回用いている)WP専用サーバではSSHできなかったため、pingなどによる疎通確認は未実施です。(それ以外の手段で、確認できる手段がありましたら、別途ご教示お願いいたします)
●データ取得先DBに、testID = 11に該当する情報があることは確認しています。
★追記
ご追記、ありがとうございます。
ご記載いただいたコードについて、new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
の該当箇所を固有のものに変更した版を(上記と同一の)テンプレファイルに記載・実行したところ、
The site is experiencing technical difficulties.
というデザイン崩れ状態の表示になりました。
また、1行目の
require_once( '/path/to/wordPress-dir/wp-load.php' );
をコメントで抜いて再度更新したところ、
NULL
と表示されました。
(表示内容に伴ってこれから調べること、色々覚えるべきことが出てきたので、色々試行錯誤してみますが、一旦の)ご報告までに記載させていただきます。ありがとうございます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/27 14:26
2019/05/27 14:32
2019/05/27 15:37 編集
2019/05/27 23:30 編集
2019/05/27 23:33
2019/06/04 01:10