想法是使用WordPress作为前端,使用Yootheme和Laravel作为后端。我可以使用wl-bootstrap在一定程度上做到这一点。
但是,我无法在wordpress视图中访问我的laravel控制器。
对于如何执行此操作的任何反馈将不胜感激。
我还想知道您是否认为此设置是一个好主意?
编辑:客户端希望能够通过WordPress进行更新,并在前端使用Yootheme
编辑:谢谢您的所有回答。我最终创建了Laravel API来查询WordPress中的数据。
答案 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中为网站的前端供电,同时管理内容,付款,订阅,高级工具和自定义仪表板,只需单击几下即可部署此强大的开发环境:
查看本教程:
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检查,路由。