在wp-db.php

时间:2017-01-20 21:58:42

标签: php wordpress

我的WordPress安装中有一个独立脚本,我使用以下内容加载wpdb对象:

define( 'SHORTINIT', true );
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' );

但是,当我调用脚本时,我的错误日志会输出以下内容:

PHP Fatal error:  Call to undefined function __() in /wp-includes/wp-db.php on line 1297

当我去wp-db.php的第1297行时,我看到了

_doing_it_wrong( 'wpdb::prepare', sprintf( __( 'The query argument of %s must have a placeholder.' ), 'wpdb::prepare()' ), '3.9.0' );

如果我注释掉该行,脚本不会崩溃,但作为核心WordPress文件,我认为这不是最好的解决方案。

我在单独的类中使用prepare方法,但是只有在独立脚本文件中才会出现此错误。当我通过在WordPress“识别”的文件中创建一个对象来重新使用同一个单独的类时,我没有得到错误。

1 个答案:

答案 0 :(得分:1)

According to WP docs, __位于wp-includes/l10n.php - 所以你也可以尝试包含它(并希望那时它本身不会引用反过来需要其他文件的东西;-)

显然它确实有用,所以我只是将其添加为答案。