我已经阅读了几篇关于stackoverflow的文章,但是没有帮助,所以我希望有人能给出好的答案。
我正在将Laravel与wordpress一起使用。现在有一个错误。是否可以重命名或通过其他方法更改此设置?
错误:
Fatal error: Cannot redeclare __() (previously declared in C:app\laravel\vendor\laravel\framework\src\Illuminate\Foundation\helpers.php:821)
答案 0 :(得分:0)
在文件wp-blog-header.php中加载,然后在wp-load.php中加载l110n.php
if ( !isset($wp_did_header) ) {
$wp_did_header = true;
// Load the WordPress library.
require_once( dirname(__FILE__).'/wp-includes/l10n.php' );
require_once( dirname(__FILE__) . '/wp-load.php' );
// Set up the WordPress query.
wp();
// Load the theme template.
require_once( ABSPATH . WPINC . '/template-loader.php' );
}
并使用您自己的名称使用此功能在您的LARAVEL项目中创建一个自己的帮助文件:
if (! function_exists('ownname')) {
/**
* Translate the given message.
*
* @param string $key
* @param array $replace
* @param string $locale
* @return \Illuminate\Contracts\Translation\Translator|string
*/
function ownname($key = null, $replace = [], $locale = null)
{
return app('translator')->getFromJson($key, $replace, $locale);
}
}
答案 1 :(得分:0)
Laravel 5.4添加了一个名为__()的辅助函数。 此功能与WordPress的名称相同。
只需将Laravel的__重命名为___并运行“ composer update”。
您可以在以下位置找到文件:
[项目文件夹] \ vendor \ laravel \ framework \ src \ Illuminate \ Foundation \ helpers.php
有问题的功能在947行中。 别忘了也要注意938行。
我遇到了同样的问题。但是,Bas的解决方案无法做到这一点。希望这对某人有帮助。