【问题标题】:Wordpress inside Laravel IntegrationLaravel 集成中的 Wordpress
【发布时间】:2017-07-28 12:12:03
【问题描述】:

我有一个系统(内置于 Laravel 4.2),我想将它与 Wordpress 集成。

只有经过身份验证的用户才能访问此博客。

我认为有两种选择:

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 -> 将 Laravel 与 Wordpress 集成。在 Laravel 中创建新用户时,它也会在 Wordpress 中创建。访问博客时,它会自动将用户登录到 Wordpress。

【问题讨论】:

  • 你也可以在他们的论坛上问这个问题。因为 laravel 和 Wordpress 都使用自己的路由和文件夹结构。

标签: php wordpress laravel integrate


【解决方案1】:

要创建一个联合用户系统,我建议你使用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

【讨论】:

    【解决方案2】:

    马哈茂德,谢谢。

    我用函数 wp_set_auth_cookie($user_id, true); 解决了这个问题

    在我的系统中登录后,我调用一个使用 wp_set_auth_cookie 的函数并将用户登录到 Wordpress。

    【讨论】:

    • 这确实以有用的方式回答了这个问题。 为什么你相信这就是答案? 如何它是如何工作的?在没有任何上下文或含义的情况下简单地告诉某人更改他们的代码并不能帮助他们了解他们做错了什么。
    • 我使用了第二个选项。创建一个 Wordpress 用户很容易,你可以找到它。 (我回答了我自己的问题,所以我将其标记为答案)。创建用户后,我做了: require("/pathToWpLoad/wp-load.php"); $user_id = username_exists($email); $userdata = get_userdata($user_id); $user = set_current_user($user_id,$username); wp_set_auth_cookie($user_id, true);
    猜你喜欢
    • 1970-01-01
    • 2020-09-06
    • 1970-01-01
    • 2014-07-12
    • 2016-07-21
    • 2016-04-05
    • 2014-01-26
    • 2011-09-04
    • 2017-03-11
    相关资源
    最近更新 更多