将Laravel集成到Wordpress中

时间:2018-09-17 11:20:57

标签: wordpress laravel

想法是使用WordPress作为前端,使用Yootheme和Laravel作为后端。我可以使用wl-bootstrap在一定程度上做到这一点。

但是,我无法在wordpress视图中访问我的laravel控制器。

对于如何执行此操作的任何反馈将不胜感激。

我还想知道您是否认为此设置是一个好主意?

编辑:客户端希望能够通过WordPress进行更新,并在前端使用Yootheme

编辑:谢谢您的所有回答。我最终创建了Laravel API来查询WordPress中的数据。

3 个答案:

答案 0 :(得分:0)

TBH我真的无法理解为什么您需要从问题中使用Laravel来创建Wordpress网站,所以这个答案充其量只是一个小问题。

Laravel有很多Symfony的组件,https://github.com/ekino/EkinoWordpressBundle上实际上有一个Symfony / Wordpress混合体,但是我的经验告诉我,如果您需要的不仅仅是Wordpress可以提供的功能,Wordpress根本不是正确的选择(正确的工具来完成工作及所有其他工作。


将Wordpress集成到Laravel

如果您将require( 'path/to/wp-blog-header.php' );添加到Laravel public/index.php的顶部,则应该可以访问Laravel中的Wordpress功能,那么您可以执行以下操作...

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PostController extends Controller
{

    protected $posts;

    public function __construct()
    {
        $this->posts = get_posts($args);
    }



    public function index($cat_slug)
    {
        return view('dashboard', ['posts' => $this->posts]);
    }
}

添加不集成的wordpress博客

如果您想在Laravel网站上创建博客,可以添加目录public/blog/并将Wordpress安装放在其中。


共享数据库

如果希望他们共享数据库,请确保创建一个包含表和列的模型类。

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    protected $table = 'wp_posts';

    protected $fillable = ['post_title', 'post_content', 'etc'];

}

然后,您可以在控制器或其他库中引用它们。

答案 1 :(得分:0)

创建Wordpress Laravel集成的最明智的方法是使用WordPressPete。想象一下,使用强大的MVC框架Laravel 5在WordPress中为网站的前端供电,同时管理内容,付款,订阅,高级工具和自定义仪表板,只需单击几下即可部署此强大的开发环境:

查看本教程:

https://wordpresspete.com/2018/11/03/create-a-wordpress-laravel-integration-with-wordpresspete-part-one/

WordPressPete是本地和生产服务器环境,只需单击几下即可将其安装在macOS和Linux中。

答案 2 :(得分:0)

有些旧的帖子,但是遇到了这个,因为我也对在Wordpress网站中使用Laravel功能感兴趣。这绝对是有道理的,没有理由为什么其他方法只是明智的选择。

是的,在Wordpress后端中可用的Laravel组件非常棒。

我当前的操作方式是通过composer在顶层目录中安装我想要的Laravel组件。因此,我现在有一个vendors文件夹,其中每个组件都有一个带有自动装配信息的composer.json。因此,在我的functions.php中,我只是调用

require_once 'vendor/autoload.php';

我只是为Pusher php库做到了这一点,它对于实时通知功能非常有用,并且经常与Laravel一起使用。所以我在WordPress网站上使用与Laravel网站上使用的相同技术使用Pusher。只是我必须按照WordPress编写回调,例如授权私有Pusher频道。

因此,在您的情况下,概念上并没有太大不同。只需要求自动加载,然后找出所需的类即可。

您可以创建一个App/Http/Controllers/Api之类的文件夹,并设置restAPI方法以根据需要从WordPress提取数据,在WordPress中,您可以为Laravel端点定义一个自定义RestAPI端点。

Jut读到您最终编写了Laravel API,那么也许这就是您最终要做什么?很好奇,您在使用Laravel路线吗?这是我真正想知道的事情-也就是说,如何以不干扰Wordpress的方式使用Laravel路由,这样我就可以拥有site.net/laravelroute,并且它将绕过所有wordpress检查,路由。