innocode-digital / wp-project-skeleton
WPD project skeleton.
Installs: 60
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 13
Forks: 0
Open Issues: 0
Type:project
Requires
- php: >=7.4
- automattic/batcache: dev-master
- boxuk/wp-muplugin-loader: ^2.0
- humanmade/s3-uploads: ^3.0
- innocode-digital/inncognito: dev-main
- innocode-digital/wp-assets-version: dev-main
- innocode-digital/wp-batcache-helper: dev-main
- innocode-digital/wp-bugsnag-fe: dev-main
- innocode-digital/wp-cdn: dev-master
- innocode-digital/wp-deferred-loading: dev-master
- innocode-digital/wp-flush-cache: dev-master
- innocode-digital/wp-force-non-public: dev-main
- innocode-digital/wp-image-editor-aws-lambda: dev-master
- innocode-digital/wp-mail-helpers: dev-master
- innocode-digital/wp-mailgun-email-validation: dev-master
- innocode-digital/wp-normalize: dev-master
- innocode-digital/wp-simple-opcache-status: dev-main
- innocode-digital/wp-theme-assets: dev-master
- johnpbloch/wordpress: *
- koodimonni-language/core-nb_no: *
- koodimonni/composer-dropin-installer: *
- meta-box/mb-revision: dev-master
- wp-digital/innstats: dev-main
- wp-digital/wp-config: dev-master
- wp-digital/wp-recaptcha: dev-master
- wp-digital/wp-start-up: dev-main
- wp-digital/wp-theme-module: dev-master
- wp-digital/wp-uptime-page: dev-main
- wpackagist-plugin/bugsnag: *
- wpackagist-plugin/disable-comments: *
- wpackagist-plugin/disable-xml-rpc: *
- wpackagist-plugin/mailgun: *
- wpackagist-plugin/meta-box: *
- wpackagist-plugin/redis-cache: *
- wpackagist-plugin/wordpress-seo: *
- wpackagist-plugin/wp-crontrol: *
- wpackagist-plugin/wp-newrelic: *
Requires (Dev)
- innocode-digital/php-cs: ^1.0
- squizlabs/php_codesniffer: ^3.7
- dev-main
- 1.25.1
- 1.25.0
- 1.24.1
- 1.24.0
- 1.23.1
- 1.23.0
- 1.22.1
- 1.22.0
- 1.21.1
- 1.21.0
- 1.20.1
- 1.20.0
- 1.19.0
- 1.18.4
- 1.18.3
- 1.18.2
- 1.18.1
- 1.18.0
- 1.17.5
- 1.17.4
- 1.17.3
- 1.17.2
- 1.17.1
- 1.17.0
- 1.16.5
- 1.16.4
- 1.16.3
- 1.16.2
- 1.16.1
- 1.16.0
- 1.15.1
- 1.15.0
- 1.14.0
- 1.13.1
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.1
- 1.10.0
- 1.9.1
- 1.9.0
- 1.8.1
- 1.8.0
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.0
- 1.5.1
- 1.5.0
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.0
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.0
- dev-stage
- dev-feature/bump-assets-version
- dev-hotfix/issue_templates
This package is auto-updated.
Last update: 2023-08-31 19:52:44 UTC
README
Description
SMFB Dinamo starter code for a WordPress project.
Install
There are few possible options to use this skeleton:
-
Create new project with Composer:
composer create-project wp-digital/wp-project-skeleton
-
Create new project on GitHub from this template.
-
Alternative way is to clone this repo:
git clone git@github.com:wp-digital/wp-project-skeleton.git <name>
Find @TODO: ...
in code and replace with needed settings.
Documentation
Install plugins, mu-plugins, PHP packages
Manage dependencies with Composer. To install e.g. plugins use:
composer require innocode-digital/wp-hybrid-lazy-loading
composer require wpackagist-plugin/wp-crontrol
Update WordPress core, plugins, mu-plugins, PHP packages
All updates should be done through Composer. To update e.g. WordPress core use:
composer update johnpbloch/wordpress
To update all dependencies (core, plugins, PHP packages):
composer update
Normally project should be initialized with new .env
file after create-project
command
but if it was not created or other method was used to create project
then it's possible to initialize .env
with next command:
composer run-script wp-init
If you want to install some theme as dependency then remember
to add it to .gitignore
.
Cron
By default, WordPress cron is disabled, but it's possible to enable it through environment variable:
USE_WP_CRON=true
There is a possibility to use server-side cron. It's needed to do next steps to make it run:
- Make script executable:
chmod +x ./bin/run-wp-cron
- Test script:
./bin/run-wp-cron
- Set server-side cron e.g. with per each 5 minutes:
*/5 * * * * /path/to/bin/run-wp-cron
Caveats
Install premium extensions from metabox.io
See documentation metabox.io on how to do it in general.
Keep in mind that storing of the API Key in project composer.json
is not a good idea, since
it could be situation that project will be taken by someone else, so the API Key may be accidentally
shared. To add private source to repositories
, you can add it in global config with the following command
composer config repositories.metabox\.io composer https://packages.metabox.io/<API Key> --global
or edit
$HOME/.composer/config.json
manually:
{
"config": {},
"repositories": {
"metabox.io": {
"type": "composer",
"url": "https://packages.metabox.io/<API Key>"
}
}
}
Then it should be possible to add extensions to project:
composer require meta-box/meta-box-group:dev-master