私はLaravelを使用してWebサイトを開発しています。WordPress Blogセクションは並列で独立して動作しています。
Laravel 5.3はすべてがスムーズに動作するので、サービスプロバイダを使用してrequire_once()
コールを「wp-load.php
」に含めることができ、WordPressのすべての機能をそのまま使用してWordPressの投稿を取得/更新することができました。
残念ながら、Laravel 5.4ではヘルパー関数__()
が定義されており、これはl10n.php
で宣言された同じWP関数との競合を生成します。
名前空間を使用しようとしましたが、運がありませんでした。
これは私のサービスプロバイダーのコードです:Laravel 5.4とWordPress 4.7がヘルパ関数で矛盾します__()
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class WordPressServiceProvider extends ServiceProvider
{
/**
* Path to our WP installation
*
* @var string
*/
protected $bootstrapFilePath = '/wp-paths/wp-it-news/wp-load.php';
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
if (\File::exists(public_path() . $this->bootstrapFilePath))
{
require_once(public_path() . $this->bootstrapFilePath);
}
}
}
あなたがしようとすると他に1つの系統のコードが含まれている場合、私は「独立して実行されている」ことを呼び出すことはありません。そして、どちらか一方のコードを変更することを除いて、それについてはあなたができることはあまりありません。 WordPress Rest APIを使用して、LaravelがあなたのWPと通信することをお勧めします。基本的にはコードベースを一緒にスローして、今まで行ってきたようにベストを願っています。 – CBroe
@CBroe WordPress Rest APIを使用すると、少なくとも1つの追加リクエストが生成されます。私はこれを避けたかったのですが、唯一の方法はデータベースに直接アクセスすることでした。私は死んだ終わりですか? –