我的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“识别”的文件中创建一个对象来重新使用同一个单独的类时,我没有得到错误。
答案 0 :(得分:1)
According to WP docs, __
位于wp-includes/l10n.php
- 所以你也可以尝试包含它(并希望那时它本身不会引用反过来需要其他文件的东西;-)
显然它确实有用,所以我只是将其添加为答案。