2017-03-08 74 views
1

我有一個系統(內置Laravel 4.2),我想將它與Wordpress集成。Laravel集成中的Wordpress

只有經過身份驗證的用戶才能訪問此博客。

我認爲在2種選擇:

1 - >在routes.php文件包括像

Route::group(array('before' => 'auth')), function() { 
    Route::get("wordpress", function() { 
     require_once public_path() . '/blog/wp-load.php'; 
     exit; 
    }); 
}); 

只有auth用戶可以看到博客的路線。如果有人嘗試訪問而無需登錄,它將顯示404錯誤(此代碼不起作用,只有一個例子)。

2 - >使用Wordpress集成Laravel。在Laravel創建新用戶時,它也會在Wordpress中創建。當訪問博客時,它會自動將用戶登錄到WordPress。

+0

你也可以在他們的論壇上提出這個問題。由於laravel和Wordpress都使用自己的路由和文件夾結構。 – C2486

回答

0

馬哈茂德,謝謝。

我用函數wp_set_auth_cookie($ user_id,true)解決了這個問題;

在我的系統中登錄後,我調用一個使用wp_set_auth_cookie並將用戶登錄到Wordpress的函數。

+0

這不會**以有用的方式回答問題。爲什麼你認爲這是答案? _它是如何工作的?僅僅告訴某人在沒有任何語境或意義的情況下改變他們的代碼並不能幫助他們瞭解他們做錯了什麼。 – GrumpyCrouton

+0

我使用了第二個選項。創建一個WordPress用戶很容易,你可以找到它。 (我回答了我自己的問題,所以我將其標記爲答案)。 創建用戶後,我做了: require(「/ pathToWpLoad/wp-load.php」); \t \t \t $ user_id = username_exists($ email); \t \t \t $ userdata = get_userdata($ user_id); \t \t \t $ user = set_current_user($ user_id,$ username); \t \t \t wp_set_auth_cookie($ user_id,true); –

0

要創建工會用戶系統,我建議您使用WordPress REST API & OAuth (Authentication System)它有一個WordPress插件,您可以使用雙方的數據,Laravel & WordPress。

要從Laravel應用程序驗證用戶以允許他們查看WordPress特定目錄,您應該從Laravel生成WordPress驗證Cookie,然後重定向。

我認爲這些文章可以幫助你開始:

How to use WordPress as a backend for a Laravel Application

Using the WordPress REST API/Authentication

WordPress REST API - OAuth 1.0a Server