meesoverdevest/wp_on_laravel

一个同步WordPress文章、分类和标签到Laravel项目的包。

1.1.0 2017-10-05 09:15 UTC

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 ======

  1. 向包和WordPress安装的functions.php中添加删除方法和Webhooks
  2. 扩展内容检索方法
  3. 规范化代码库