wp-config.phpから値を読み取るにはどうすればよいですか?

カスタムPDOデータベースに接続するには、 wp-config ファイルからユーザー名、パスワードなどを取得する必要があります。

現在私はこの情報を持っている別のファイルを持っていますが、 wp-config のみを使用したいと思います。

どうすれば wp-config のさまざまなプロパティを読むことができますか?

8

6 答え

私はwp-config.phpで自分自身の定数を定義していて、それをテーマに取り込むことなく管理しています。

wp-config.php

define('DEFAULT_ACCESS', 'employee');

functions.php

echo "DEFAULT_ACCESS :".DEFAULT_ACCESS;

outputs DEFAULT_ACCESS :employee

10
追加された
うん、それは私が今やっていることだ。
追加された 著者 Steven,

同じコードがあります。

// ...Call the database connection settings
require( path to /wp-config.php );

// ...Connect to WP database
$dbc = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if ( !$dbc ) {
    die( 'Not Connected: ' . mysql_error());
}
// Select the database
$db = mysql_select_db(DB_NAME);
if (!$db) {
    echo "There is no database: " . $db;
}

// ...Formulate the query
$query = "
    SELECT *
    FROM `wp_posts`
    WHERE `post_status` = 'publish'
    AND `post_password` = ''
    AND `post_type` = 'post'
    ";

// ...Perform the query
$result = mysql_query( $query );

// ...Check results of the query and terminate the script if invalid results
if ( !$result ) {
    $message = '
Invalid query.

' . "\n"; $message .= '
Whole query: ' . $query ."

\n"; die ( $message ); } // Init a variable for the number of rows of results $num_rows = mysql_num_rows( $result ); // Print the number of posts echo "$num_rows Posts"; // Free the resources associated with the result set if ( $result ) { mysql_free_result( $result ); mysql_close(); }
7
追加された
それは問題ではない、私はすでにWP機能にアクセスしている。 wp-config.php のコンテンツにアクセスするにはどのようなコードを使用する必要がありますか?
追加された 著者 Steven,
なぜ私が考えていないのか分かりません。 wp-config は定数を使用しているため、「直接」アクセスできます。おかげでVirgil :)
追加された 著者 Steven,
wp-config.phpがPHPの通知と警告の原因となる他のものを要求しようとしていて、スクリプトがそこで終了するように見えるので、これは私のためには機能しません "ヘッダー情報を変更できません" ...間違っていることを確認していません。 require行に@を使用してerror_reporting(0)を追加しても、その前に、同じ端末出力。
追加された 著者 Jorge Orpinel,
私はいくつかのサンプルで私の答えを変更しました。コード。ありがとう!
追加された 著者 Virgil Shelton,

私はファイルをインクルードするだけで、varibalesの変数にアクセスできます。

<?php
  require_once('wp-config.php');
  echo DB_NAME;
?>

これはあなたが同じサーバ上にいることを前提としており、ファイルシステムを通してwp-config.phpにアクセスできます。

プラグインでこれを行っている場合、これらの値はすでに利用可能です。ファイルを再度含める必要はありません。

6
追加された
シンプルでクリーンな答えをありがとう:)
追加された 著者 javatarz,

wp-config.phpからすべてのグローバル定数を取得することができます。

<?php
  echo DB_HOST;
  echo DB_NAME;
  echo DB_USER;
  echo DB_PASSWORD;
1
追加された

DBに接続するには、現在のバージョンのPHPでは、 mysqli 拡張を使用することをお勧めします(mysql拡張は非推奨になります)。

require_once ("../wp-config.php");//path to wp-config depends on your file locatoin
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
0
追加された

必要なwp-load.phpファイルを追加するだけです。 のようなすべてのWordPressの機能を使用することができます get_recent_posts()など多くの...

0
追加された