meesoverdevest / wp_on_laravel
一个同步WordPress文章、分类和标签到Laravel项目的包。
1.1.0
2017-10-05 09:15 UTC
Requires
- php: >=7.0.0
- cartalyst/tags: 5.0.*
- illuminate/database: *
README
一个Laravel包,利用WordPress轻松管理博客内容,同时也可以通过Eloquent模型访问所有WordPress的文章、分类和标签。
要求
- 全局安装WP CLI
- 在您的
.env文件中设置有效的APP_URL
1 运行composer require meesoverdevest/wp_on_laravel
2 添加服务提供者到配置文件
在config/app.php中添加服务提供者
'providers' = [ ... meesoverdevest\wp_on_laravel\WPServiceProvider::class ];
3 运行安装器
从您的项目文件夹中运行以下命令:php artisan wol:install $password $email
将$password和$email替换为您希望在WordPress中使用的凭据。
如果您不想让内容和上传公开,请忽略gitignore public/blog。
4 安装Cartalyst Tags
我们的包依赖于Cartalyst Tags,它作为依赖项自动安装。要使用Cartalyst Tags与WP_on_Laravel一起使用,您还需要运行他们的迁移。这样做:$ php artisan vendor:publish --provider="Cartalyst\Tags\TagsServiceProvider" --tag="migrations" 或者不发布 php artisan migrate --path=vendor/cartalyst/tags/resources/migrations
5 运行迁移
运行安装命令(php artisan wol:install $password $email)后
运行php artisan migrate以迁移新的迁移
6 编辑NGINX配置
要启用对外公开的WordPress安装的访问,您需要在您的网站nginx配置中添加以下内容
server {
...
location = /blog {
return 301 /blog/wp-login.php;
}
location /blog/wp-json {
try_files $uri $uri/ /blog/index.php?$query_string;
}
location /blog/wp-admin {
try_files $uri $uri/ /blog/index.php?$query_string;
}
location / {
// standard settings
}
...
}
别忘了运行(sudo) service nginx restart
7 同步WordPress文章、分类和标签
use meesoverdevest\wp_on_laravel\helpers\WPAPI; function syncWP(){ $WPAPI = new WPAPI(); $WPAPI->syncWP(); }
8 使用WordPress文章、分类和标签
在项目中自由使用它们。您可以使用模型如下
// WPPost use meesoverdevest\wp_on_laravel\models\WPPost; // WPCategory use meesoverdevest\wp_on_laravel\models\WPCategory; // Tag (managed by Cartalyst/Tags) use meesoverdevest\wp_on_laravel\models\Tag; // Show WPCategories for post $posts = WPPost::where('parent', 0)->first()->categories(); // Show WPosts for tag $tag = Tag::first()->posts(); // Show children WPCategories for parent WPCategory $tag = WPCategory::first()->children();
====== TODO ======
- 向包和WordPress安装的functions.php中添加删除方法和Webhooks
- 扩展内容检索方法
- 规范化代码库