2012-02-07 6 views
2

私はWPドメインがインストールされているユーザーのためのプロジェクトを進めています。WordPressのwp-config.phpを使用してMySQL DB情報にアクセスする方法

私はWPが使用するのと同じデータベースにデータを格納します(別のテーブルでのみ)。

私は(ファイルを取得し、単にhttp://wordpress.stackexchange.comからユーザーによると、wp-config.phpは私が遭遇した問題に関する質問を投稿した後、ファイルに含まれてはいけません、ので、そこから情報を使用することが含ま関数を使用するカント時には)そうすると(The Issues that encounter when including the file)。

(WP-config.phpの問題をinculding ONLY出会い時々ので)今、私はすでに一つの選択肢を持っている:私が働いているアプリケーションは、ユーザーが(実行するためにインストールする必要

)。したがって、インストール中にwp-config.phpファイルONCEを含めるだけで、必要な情報をコピーして自分のファイルに配置し、残りのアプリケーションに使用することができます。

上記の解決策の問題は、インストール中に問題が発生した場合はどうなりますか?ユーザーは、動作するまで何度も何度も試してみる必要があります。 =不幸なユーザー。

私はこれを成果を上げるために使用できる代替案をお探しですか?

+0

スタンドアロンスクリプトからwpdbアクセスを取得する方法がありますが、私はどのように答えを共有するか覚えています。 – thenetimp

+0

@thenetimp:DB情報(ホスト、ユーザー、パス)が必要です。私はWP機能を介してDBにアクセスしたくない。ありがとう。 –

+0

あなたは私の答えを使用する場合、あなたはまだすべての定数にアクセスすることができます。その情報を含む。 – thenetimp

答えて

1

This blog postあなたが探している答えがあるようですが、それを行うコードがあります。著者はあなたの質問にリンクしている投稿のコメントに示唆されている通りです。ポストから

抜粋:

私は 外に何かをコーディングされたとき、私は1つの場所でログオン情報を保つことができるので、WP-config.phpを ファイルからデータベースの詳細を抽出するスクリプトが必要WPフレームワーク。

私はこれを行うクラスを思いつき、mysqlに接続して データベースを選択します。接続オプションには、PDO,mySQLiまたは 手順mysql_connect()の3つの接続オプションがあります。私はいつも 'WP-ブログ - header.phpの' 付属のWordPressのインストールと統合しなければならなかったプロジェクトの場合

+0

記事へのリンクが削除されました。 –

+0

@AbijeetPatro固定、作者は明らかに彼のブログの設定を変更しました。 – Crontab

+0

ありがとう!これは参考になります。 –

0
<?php 

require_once('wp-load.php'); 

// your script here. which conforms to wordpress standards. 
+0

それを試してみてください。 'wp-config.php'を含むときと同じ問題が発生します。 –

1

Integrating WordPress with Your Website

例:

<?php 
/* Short and sweet */ 
define('WP_USE_THEMES', false); 
require('./wp-blog-header.php'); 
?> 

のコメントを読んだ後、私は(インストール・プロセスで)WordPressの設定ファイルを探し、のために定義された値を引き出すスクリプトを記述することをお勧めDB_NAME、DB_USER、DB_PASSWORD、DB_HOST、DB_CHARSET、DB_COLLATEを作成し、独自の構成ファイルに格納します。

1

テーマフォルダにpage-custom-name.phpというファイルを作成し、正確なタイトル「カスタム名」の空のページを公開することをおすすめします。今すぐwwwを訪れることになります。yoursite/custom-nameにそのページが表示されます。

とページのカスタム・name.phpであなただけのタイプ:

global $wpdb; 

とあなただけなしのwp-config.phpのにアクセスしたい場合は、データベース:)

0

へのアクセスもを持っていますWordpressの機能の残りの部分。

次の手順を実行します。

1:あなたのプラグインディレクトリに

2を空のwp-のsettings.phpファイルを作成します。あなたのphpファイルへの広告この

define('ABSPATH', $_SERVER['DOCUMENT_ROOT'].'/wp-content/plugins/YOUR_PLUGIN_DIR/'); require_once($_SERVER['DOCUMENT_ROOT'] . '/wp-config.php'); 

これは完璧な作品WordPress 4.2.4用に「ダウンして」、私自身のプラグインmywebappletsでテストしました。

+0

'/ wp-content/plugins'にプラグインが見つからないことがあるので、注意してください。一部のセキュリティプラグインは'/wp-content'の場所を完全に別のものに変更します。 –

0

これはSonerGönülソリューションの変種で、スタンドアローンスクリプトにも基づいています。このファイルは、あなた以外の誰もアクセスできない場所に置いてください(例:Apacheのパスワードで保護されたフォルダ、またはアクセス制限のある別のドメイン)。次の手順を実行します。

1 -

2のwp-のsettings.phpと呼ばれる空のPHPスクリプトを作成 - WordPressのフォルダへのパスは、/ var/www/html /であると仮定すると、に以下のコードを追加します別のスクリプト(例:db-info.php)は、以前に作成された空のスクリプトと同じフォルダに置かれます。

<?php 
// you are defining ABSPATH here, so wp-config.php won't be able to define it again. The result is that wp-config.php, when required, will require your empty script (and not the real wp-settings.php), avoiding this way the start of WordPress loading. 
define('ABSPATH', __DIR__ . '/'); 
// assuming that the path to your WordPress folder is /var/www/html/. Typing the path directly, instead of using $_SERVER['DOCUMENT_ROOT'], will allow you to run the script from anywhere (another domain of your server, for example). 
require_once '/var/www/html/wp-config.php'; 

3を - コードの作業を表示するには:、スクリプトの最後に次の行を追加します

echo DB_NAME . '<br>'; 
echo DB_HOST . '<br>'; 

、ブラウザでそれをテストし、アクセスします。http://」1-のを-your-domains/path-to/db-info.php

関連する問題