如何从站点树中更深的文件夹中包含wp-config文件


How to include the wp-config file from a folder deeper in the site tree

我不知道为什么我总是有很多麻烦,包括PHP文件。在这种情况下,我所要做的就是包括wp-config文件,这样我就可以使用我在其中定义的一些变量。我的文件setup.php位于如下所示的级别

wp-admin
wp-content
   .
   .
   themes
       .
       .
       mytheme
           .
           .
           setup.php
           .
       .
   .
wp-includes
.
.
wp-config.php
.
.

,文件以

开头
<?php
error_reporting(-1);
ini_set('display_errors', 'On');
include '../../wp-config.php';
$con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD); 

得到的错误是

警告:include(../../wp-config.php): failed to open stream: No such文件或目录

I tried doing

include_once get_home_path() . 'wp-config.php';

但是get_home_path()是未定义的,这意味着为了使用它,我必须包括它被定义的文件,这是一个循环问题,因为,正如这个线程所示,我不知道如何在不同级别拉入文件。

对解决这个问题有什么帮助吗?

如果你正在开发一个主题,你不需要手动包含wp_config.php, WordPress将为你处理。此外,我会强烈建议寻找通过WordPress的动作访问数据库的正确方法&钩子;我想不出有什么理由需要直接命中它,即使这样做,使用全局$wpdb和该对象可用的方法将处理其他所有事情。

你需要再跳一层…

  1. mytheme
  2. wp-content

上三层,所以3 × ../:

 include_once '../../../wp-config.php

…话虽如此(尽管我可以想出一些情况来证明你所做的是正确的),我也有一种感觉,你做事的方式非常错误,没有充分的理由。

阅读Ceilis的答案,如果你正在做的事情是绝对必要的,再考虑一次。