2017-02-09 15 views
1

私は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); 
     } 
    } 

} 
+2

あなたがしようとすると他に1つの系統のコードが含まれている場合、私は「独立して実行されている」ことを呼び出すことはありません。そして、どちらか一方のコードを変更することを除いて、それについてはあなたができることはあまりありません。 WordPress Rest APIを使用して、LaravelがあなたのWPと通信することをお勧めします。基本的にはコードベースを一緒にスローして、今まで行ってきたようにベストを願っています。 – CBroe

+0

@CBroe WordPress Rest APIを使用すると、少なくとも1つの追加リクエストが生成されます。私はこれを避けたかったのですが、唯一の方法はデータベースに直接アクセスすることでした。私は死んだ終わりですか? –

答えて

0

にベンダー/ autoload.php前にWP-load.phpを含むことができ、私はWordPressのAPIを使用して終了、とCbroeが提案した。まあ

Docs here

curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/posts 
+0

リンクからコンテンツを追加してください – Robert

0

あなたは、ブートストラップ/ autoload.php

関連する問題