Giter Site home page Giter Site logo

wordpress-plus's Introduction

WordPress+

Build Status Latest Stable Version Total Downloads Software License

日本語 - Japanese

About WordPress+ (WordPress Plus)

WordPress+ wrapped WordPress in high-speed micro framework Lumen powered by Laravel 5.

Features

  • Existing asset such as the WordPress plug-in exhibited all over the world and a theme is available.
  • It's possible to renew the WordPress body (of course, plug-in).
  • With Uniform Resource Locator gate (the bed where HTTP access from a browser is filtered).
  • The coding speed of a HyperText Markup Language template goes up by a Blade template engine.
  • The MySQL use which is to utilize a schema builder query builder of Laravel and is general can be done.
  • An existence system and cooperation with the outside web service are easy to make.
  • The original management screen done based on a management screen of WordPress is easy to make (The cost of the management screen making can be lowered.)
  • Mobile cooperation (ex. notice to smart phone) is also easy!

The happy of the development side

  • It's possible to carry out by a PHP built-in server (The practical use for which I don't depend on Apache is also possible.)
  • PHP package management using Composer is possible.
  • A tool for all kinds' web craftsmen of giblets of Laravel 5 can be used (O-Auth authentication, command scheduler, Redis and cloud storage integration and all that).

WordPress+ requires

  • PHP version more than 5.6 (Lumen Framework was require more than PHP 5.5.9)
    • Enable PHP extensions: openssl, mbstring, pdo, pdo-mysql
  • Composer
  • Web Servers
    • Nginx
      • ※ Tested in Nginx 1.8
    • Apache 2
      • ※ Enable Apache 2 modules: php5, rewrite
      • ※ Tested in Apache 2.2, 2,4
    • PHP built-in server
      • ※ Tested in PHP 5.6, PHP 7

The function WordPress+ is supporting

  • Setup WordPress database on command line environment.
  • Make WordPress theme & plug-in on command line environment.
  • WordPress theme can using Blade template engine.
  • Multisite (Only corresponding to the subdomain type.)
    • Option: Set environment variable WP_MULTISITE=true to make it effective.
  • Link manager
    • Option: Set environment variable WP_LINK_MANAGER=true to make it effective.

About settings

Web server setting

Please to the following configuration files to reference.

Project-specific environment variables

WordPress+ you can specify a project local environment variables to .env file. This file is the area that can describe a common set to Lumen Application and WordPress.

Ex)

  • Site URL, Backend URL for WordPress
  • Database connection settings.

Configuration file for WordPress wp-config.php

wp-config.php has been customized for WordPress+。 !!!Do Not Edit!!!

Installation

It can be installed from Composer or source cord download.

Installation using Composer

Please open a command prompt and carry out the next command.

$ cd <parent-of-an-install-directory>
$ composer create-project laravel-plus/wordpress <an-install-directory>

Source code is downloaded and installed.

A Download ZIP button of our repository of GitHub is pressed and source cord is downloaded.

And ZIP is developed in an optional directory of a local machine.

Please open a command prompt and run following commands.

$ cd <installed-directory>
$ composer install
$ cp .env.example .env
$ php artisan key:generate

Check to install. Once the command list is displayed, OK!

$ php artisan

Environment variables

The environment variable setting filing to which a project is peculiar writes the setting by which it's for a data base in .env. Please refer to .env.example for a setting example.

Server initiation method

It can start by a PHP built-in server.

Please open a command prompt and run following commands.

$ cd <installed-directory>
$ php artisan serve

When http://localhost:8000 is opened by a web browser, you can access. A GUI setup of WordPress starts at the first time launch. (Can also WordPress installation by artisan command wordpress:install)

A management screen is http://localhost:8000/backend (Redirect to http://localhost:8000/backend/wp-admin/).

To match the destination domain, please change the URL in the .env. And apart from the site URLWP_SITEURL and back-end URLWP_BACKENDURL, you can also increase the security.

Setting of a web server

Lumen 5 / Laravel 5 is recommending to take slash / of an end of Uniform Resource Locator by setting of a web server. But WordPress needs slash / of an end, so please be careful in case of setting. A redirection loop sometimes occurs after login to a management screen.

artisan commands

  • wordpress:status Status display for WordPress.
  • wordpress:install Install WordPress tables.
  • wordpress:uninstall Uninstall WordPress tables.
  • wordpress:multisite:install Install tables for multisite.
  • wordpress:multisite:uninstall Uninstall tables for multisite.
  • wordpress:theme List of themes.
  • wordpress:theme <name> Detail of theme.
  • wordpress:plugin List of plugins.
  • wordpress:plugin <name> Detail of plugin.
  • make:theme <name> Make theme.
  • make:plugin <name> Make plugin.

Use of Blade in the theme

A directory as blade is made in the theme directory and a file along a WordPress template file name agreement is arranged there. The extension is made .blade.php.

When setting environment variable WP_BLADE_PRECOMPILE as true (default), when indicating a page by WordPress+, a compiled PHP file is output in theme directory falling plumb down. WordPress+ is original mounting for the Blade engine used at the same time.

When setting environment variable WP_BLADE_PRECOMPILE as false, a PHP file in the sky which corresponds to a blade file is output in theme directory falling plumb down. The Blade engine used at the same time is mounting of Laravel 5.

Blade directives

  • @filter('filter-name') Call filter.
  • @action('action-name') Invoke action.
  • @shortcode([shortcode-name param1="value1"]) Expand shortcode.
  • @postloop @postloop($posts) A loop block of Post query is started.
  • @postempty A query begins to block one in case of 0 cases.
  • @endpostloop A loop block of Post query is ended.

Copyright

2015 Fumio Furukawa / 古川 文生, All rights reserved.

Licenses

WordPress+ is open-sourced software licensed under the MIT license
Lumen framework is open-sourced software licensed under the MIT license
WordPress is open-sourced software licensed under the – GNU General Public License –

wordpress-plus's People

Contributors

jumilla avatar sumi21japan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wordpress-plus's Issues

Error after installation with composer

Fatal error: Arrays are not allowed in class constants in /srv/www/laravel_plus/app/Http/Controllers/WordPress/TemplateController.php on line 32

Fatal error: Uncaught exception 'BadMethodCallException' with message 'Method [send] does not exist on view.' in /srv/www/laravel_plus/vendor/illuminate/view/View.php:380 Stack trace: #0 /srv/www/laravel_plus/vendor/laravel/lumen-framework/src/Application.php(408): Illuminate\View\View->__call('send', Array) #1 /srv/www/laravel_plus/vendor/laravel/lumen-framework/src/Application.php(408): Illuminate\View\View->send() #2 /srv/www/laravel_plus/vendor/laravel/lumen-framework/src/Application.php(348): Laravel\Lumen\Application->handleUncaughtException(Object(Symfony\Component\Debug\Exception\FatalErrorException)) #3 [internal function]: Laravel\Lumen\Application->Laravel\Lumen{closure}() #4 {main} thrown in /srv/www/laravel_plus/vendor/illuminate/view/View.php on line 380

Term support

You should add term.php to wp-routes

    $app->get('term.php', 'BlogAdminController@termList');
    $app->post('term.php', 'BlogAdminController@termList');

and method like this:

    public function termList()
    {
        $this->runAdminScriptWithMenu('term.php');
    }

Widgets are getting saved .

The widgets are not getting saved in both live theme/plugin edit menu (live preview) and in widgets direct edit page .

blade theme not work

Hi,
if I create a new bootstrap theme from command line, after activated it, blade template doesn't work and the homepage is "This is index.php", the content of index.php file in the theme directory.

i can not use this

when use command line . this show massege :

Warning: require_once(C:\xampp\htdocs\wordpress-plus-master\bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in C:\xampp\htdocs\wordpress-plus-master\bootstr
ap\app.php on line 3

do u can tell me about how to change to run .thank for your code this is good Idea .

info関数について

info()がある所でエラーになりますが、どうやって回避されているのでしょうか?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.