如何获取wordpress网站的wp-config.php的文件路径?

时间:2013-05-03 06:50:45

标签: php wordpress-plugin wordpress

我正在开发一个插件,我需要在其中包含配置并在点击时查询wordpress数据库。我的问题是 如何动态获取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");

我dunno wat是确切的路径..

感谢任何帮助..

3 个答案:

答案 0 :(得分: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) );

建议阅读:

答案 1 :(得分:3)

应该通过全局$ wpdb变量来查询WordPress中的数据库。请参阅codex条目:http://codex.wordpress.org/Class_Reference/wpdb

答案 2 :(得分: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-config之前你不能使用wp_die(),然后使用php函数die()