ffflabel/project

WordPress boilerplate with modern development tools, easier configuration, and an improved folder structure

v0.1.1 2023-11-24 12:26 UTC

This package is auto-updated.

Last update: 2024-04-24 13:38:21 UTC


README

based on Bedrock

Features

  • Better folder structure
  • Dependency management with Composer
  • Easy WordPress configuration with environment specific files
  • Environment variables with Dotenv
  • Autoloader for mu-plugins (use regular plugins as mu-plugins)
  • Enhanced security (separated web root and secure passwords with wp-password-bcrypt)

Use Trellis for additional features:

  • Easy development environments with Vagrant
  • Easy server provisioning with Ansible (Ubuntu 16.04, PHP 7.1, MariaDB)
  • One-command deploys

See a complete working example in the roots-example-project.com repo.

Requirements

Installation

  1. Create a project folder your-project-folder-name, enter to it and create a new project for your project:

composer create-project ffflabel/project .

  1. Update environment variables in .env file:
  • DB_NAME - Database name
  • DB_USER - Database user
  • DB_PASSWORD - Database password
  • DB_HOST - Database host
  • WP_ENV - Set to environment (development, staging, production)
  • WP_HOME - Full URL to WordPress home (http://example.com)
  • WP_SITEURL - Full URL to WordPress including subdirectory (http://example.com/wp)
  • AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT, NONCE_SALT

If you want to automatically generate the security keys (assuming you have wp-cli installed locally) you can use the very handy wp-cli-dotenv-command:

  wp package install aaemnnosttv/wp-cli-dotenv-command

  wp dotenv salts regenerate

Or, you can cut and paste from the Roots WordPress Salt Generator.

  1. Add theme(s) in web/app/themes as you would for a normal WordPress site.

  2. Set your site vhost document root to /path/to/site/web/ (/path/to/site/current/web/ if using deploys)

  3. Access WP admin at http://example.com/wp/wp-admin

Deploys

  1. Go to the your-project-folder-name\.github\workflows\deploy-dev.yml and update variables:

    • REPO - git ssh repository
    • ROOT_DIR - path to the project on the server
  2. Go to project Git repository Settings -> Secrets and variables -> Actions and add Repository secrets:

    • SSH_DEV_HOST - ssh host - IP of the host server
    • SSH_DEV_USERNAME - ssh user name to connect to the server
    • SSH_DEV_PORT - ssh port
    • SSH_DEV_KEY - openssh private key (puttyprivatekey_openssh)

There are two methods to deploy Bedrock sites out of the box:

Any other deployment method can be used as well with one requirement:

composer install must be run as part of the deploy process.

Documentation

Bedrock documentation is available at https://roots.io/bedrock/docs/.

Contributing

Contributions are welcome from everyone. We have contributing guidelines to help you get started.

Community

Keep track of development and community news.