0

私は、設定を含めて、クリック時にワードプレスデータベースを照会する必要があるプラグインを開発しています..私の質問は、wp-config.phpのURLを動的に取得する方法です..私は使用しました

include_once $_SERVER['DOCUMENT_ROOT'] . '/wp-config.php';

しかし、私はエラーが発生しています

include_once(): Failed opening /wp-config.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear')

そして、私は次のような多くのオプションを試しました

require_once('../../../wp-config.php');
require_once ("../wp-config.php");

正確なパスはわかりません..

どんな助けでも大歓迎です..

4

3 に答える 3

7

つまり、プラグインから wp-config.php をインクルードしようとしてはいけません。このアプローチを取る正当な理由があるとしても、ほとんどありません。純粋主義者は、それは決して行われるべきではないとまで言うでしょう。

WordPress プラグインには、$wpdbクエリのためにグローバル変数にアクセスするための適切なコンテキストが既にあります。次の例を見てください。

global $wpdb;

$results = $wpdb->get_results( $wpdb->prepare("SELECT * FROM {$wpdb->prefix}your_table WHERE column = %s", $your_value) );

推奨読書:

于 2014-02-04T14:44:48.360 に答える
0

すべての警告を回避してコーディングの適切な実践を行いたい場合は、wp-config.php を見つけることができる多くのパスを含むこれを試すことができます。

if( !(include $_SERVER['DOCUMENT_ROOT'].'/wp-config.php') )
if( !(include 'wp-config.php') )
if( !(include '../../../wp-config.php') )
if( !(include '../../../../wp-config.php') )
if( !(include '../../../../../wp-config.php') )
    die('<H1>Can\'t include config.</H1>');

注:次の行を追加できますif( !(include 'my_custom_path/wp-config.php') )

wp_die()wp-configが含まれるまで使用できません。その後、php関数を使用しますdie()

于 2015-04-10T01:40:57.370 に答える