Package Data | |
---|---|
Maintainer Username: | webrew |
Maintainer Contact: | mees@mefolio.nl (biertjesman) |
Package Create Date: | 2017-03-07 |
Package Last Update: | 2017-10-05 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-19 03:03:11 |
Package Statistics | |
---|---|
Total Downloads: | 65 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 1 |
Total Watchers: | 1 |
Total Forks: | 0 |
Total Open Issues: | 0 |
A Laravel Package which makes use of WordPress to easily manage blog content, but also makes it possible to access all WordPress' posts, categories and tags through Eloquent Models.
APP_URL
in your .env
-filecomposer require meesoverdevest/wp_on_laravel
Add the service provider in config/app.php
:
'providers' = [
...
meesoverdevest\wp_on_laravel\WPServiceProvider::class
];
Run the following from your project folder:
php artisan wol:install $password $email
Replace $password and $email with your wished credentials to use in WordPress.
gitignore public/blog if you don't want you content and uploads to be public.
Our package depends on Cartalyst Tags, which installs automatically as dependency. To be able to use Cartalyst Tags with WP_on_Laravel, you have to run their migrations as well. Doing so: $ php artisan vendor:publish --provider="Cartalyst\Tags\TagsServiceProvider" --tag="migrations"
or without publishing php artisan migrate --path=vendor/cartalyst/tags/resources/migrations
After running the installation command (php artisan wol:install $password $email
)
Run php artisan migrate
to migrate the new migrations
To enable outer access to the public WordPress installation you have to add the following to your website's nginx config:
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
}
...
}
Don't forget to run (sudo) service nginx restart
use meesoverdevest\wp_on_laravel\helpers\WPAPI;
function syncWP(){
$WPAPI = new WPAPI();
$WPAPI->syncWP();
}
Use them freely inside your project. You can use the models like:
// 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 ======