web-dev-qa-db-ja.com

Wordpressのwp-configファイルを使ってデータベースに接続する

Wp-config.phpファイルを使ってデータベースに接続するにはどうすればいいですか?

私はスクリプトをもっとWordpressに優しくしようとしています、そして私はデータベースに接続する必要がありますが、スクリプトをプラグインとしてインストールする必要はありません。

基本的に私は自分の脚本に書いています

$Host = "xxxxxxxxxxx"; //database location
$user = "xxxxxxxxxxx"; //database username
$pass = "xxxxxxxxxxx"; //database password
$db_name = "xxxxxxxx"; //database name

//Database Connection
$link = mysql_connect($Host, $user, $pass);
mysql_select_db($db_name);

スクリプトをプラグインとしてインストールすることはできません(これにより作業が簡単になります)。そのため、インストール時に既存のwp-config.phpを使ってデータベースに接続する必要があります。

前もって感謝します

編集と説明

1 - 私はそのままwp-config.phpを使用する必要があります、変更なし。 2-スクリプトはwww.example.com/script/に配置されます。3-スクリプトの中核は、ログイン画面を飛び越えずにパブリックにアクセスする必要があるため、プラグインとしては実行できません。 4-私の質問は基本的に上記のスクリプトを変更することによってwp-config.phpファイルを使用してデータベースに接続する方法です。

8
user983248

を使用して、wp-configでユーザーセットを定義します。

mysql_connect(DB_Host, DB_USER, DB_PASSWORD);

_ edit _ :あなたのスクリプトはWordpress環境の外にあるので、あなたがしたいことはwp-configの定義を使う前にそれを開始することです。

require_once('./path/to/the/wp-config.php');
mysql_connect(DB_Host, DB_USER, DB_PASSWORD);
10
akamaozu

あなたのスクリプトをあなたのWordPress投稿の一部にすることができます、ちょうどWordPress自身によって提供される$wpdbオブジェクトを使用してください。 $wpdbオブジェクトはすでにデータベース接続が確立されており、それを使用してあらゆるデータベース操作を実行することができます。挿入、更新、クエリなど...追加のデータベースを開く必要がないので、WordPress内でDB処理を行うのに適した方法です。接続.

これは、たとえば将来の投稿を取得するための簡単な例です。

$posts = $wpdb->get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future' AND post_type='post' ORDER BY post_date ASC LIMIT 0,4");

追加情報については、この記事をチェックしてください: http://wp.smashingmagazine.com/2011/09/21/interacting-with-the-wordpress-database/ /

3
obaranovsky