woody-wordpress / woody-core
Woody core is the main project to start your new website. Enjoy ;)
Requires
- php: ^7.3|^8.0
- chillerlan/php-qrcode: ^4.3.3
- composer/composer: ^2.0
- cweagans/composer-patches: ^1.7
- fightbulc/moment: ^1.29
- johnpbloch/wordpress: 6.1.1
- mongodb/mongodb: 1.12
- nette/forms: 3.0.7
- oscarotero/env: ^1.2
- raccourci/hawwwai-library: dev-master
- ralouphie/getallheaders: ^3.0
- roots/wp-config: ^1.0
- roots/wp-password-bcrypt: ^1.0
- vlucas/phpdotenv: ^3.4
- woody-wordpress/woody-acf-sync: ^1.3
- woody-wordpress/woody-cli: ^1.18
- woody-wordpress/woody-crop: ^1.4
- woody-wordpress/woody-lib-attachments: ^1.0
- woody-wordpress/woody-lib-dropzone: ^1.5
- woody-wordpress/woody-lib-polylang: ^2.0
- woody-wordpress/woody-lib-varnish: ^1.2
- woody-wordpress/woody-library: ^1.32
- woody-wordpress/woody-monitor: ^1.2
- woody-wordpress/woody-plugin: ^1.40
- woody-wordpress/woody-theme: ^1.54
- wp-cli/cache-command: ^2.0
- wp-cli/checksum-command: ^2.0
- wp-cli/config-command: ^2.0
- wp-cli/core-command: ^2.0
- wp-cli/cron-command: ^2.0
- wp-cli/db-command: ^2.0
- wp-cli/embed-command: ^2.0
- wp-cli/entity-command: ^2.0
- wp-cli/export-command: ^2.0
- wp-cli/extension-command: ^2.0
- wp-cli/i18n-command: ^2.0
- wp-cli/import-command: ^2.0
- wp-cli/language-command: ^2.0
- wp-cli/media-command: ^2.0
- wp-cli/package-command: ^2.0
- wp-cli/rewrite-command: ^2.0
- wp-cli/role-command: ^2.0
- wp-cli/search-replace-command: ^2.0
- wp-cli/super-admin-command: ^2.0
- wp-cli/widget-command: ^2.0
- wp-cli/wp-cli: ^2.5
- wpackagist-plugin/advanced-cron-manager: ^2.4
- wpackagist-plugin/better-search-replace: ^1.4.1
- wpackagist-plugin/disable-embeds: ^1.5
- wpackagist-plugin/duplicate-post: ^4.5
- wpackagist-plugin/enhanced-media-library: 2.8.8
- wpackagist-plugin/members: ^3.2
- wpackagist-plugin/publish-view: ^2.3
- wpackagist-plugin/query-monitor: ^3.9
- wpackagist-plugin/redirection: ^5.3
- wpackagist-plugin/ssl-insecure-content-fixer: ^2.7
- wpackagist-plugin/wordpress-importer: ^0.7
- wpackagist-plugin/wp-deferred-javascripts: ^2.0
Requires (Dev)
- rector/rector: ^0.12.16
- woody-wordpress-pro/woody-addon-boilerplate: dev-master
- woody-wordpress/starter-theme: dev-master
- dev-master
- 1.67.1
- 1.58.5
- 1.57.0
- 1.53.0
- 1.50.21
- 1.50.20
- 1.50.19
- 1.50.18
- 1.50.3
- 1.50.0
- 1.49.0
- 1.48.0
- 1.47.0
- 1.46.0
- 1.45.0
- 1.44.0
- 1.43.0
- 1.42.0
- 1.41.0
- 1.40.0
- 1.39.0
- 1.38.0
- 1.37.0
- 1.36.0
- 1.35.0
- 1.34.0
- 1.33.0
- 1.32.0
- 1.31.0
- 1.30.0
- 1.29.0
- 1.28.0
- 1.27.0
- 1.26.0
- 1.25.0
- 1.24.0
- 1.23.0
- 1.22.0
- 1.21.0
- 1.20.0
- 1.19.0
- 1.18.0
- 1.17.0
- 1.16.0
- 1.15.0
- 1.14.0
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.0
- 1.9.0
- 1.8.0
- 1.7.0
- 1.6.0
- 1.5.9
- 1.5.8
This package is auto-updated.
Last update: 2024-12-09 12:39:41 UTC
README
đĨ Installation & Usage
Dependencies
Woody is dependent on 2 paid plugins of the wordpress community. To use woody you must absolutely buy and install :
- Polylang PRO version 2.9.0
- ACF PRO (Advanced Custom Fields PRO) version 5.9.1
These plugins must be uploaded to the web/app/plugins directory.
WARNING: If you are using the Woody PRO version, it's possible to install these dependencies by "composer", but this does not mean you do not have to buy these 2 plugins.
Configuration
Create a configuration file for each of your sites in "config/sites".
My first project is called "mywebsite", so I create the file "config/sites/mywebsite/.env".
Some of these settings must be requested from the Raccourci agency, please contact support@woody-wordpress.com
Here are the available settings
DB_NAME='wp_mywebsite' DB_USER='wp_mywebsite' DB_PASSWORD='mypassword' DB_HOST='127.0.0.1:3306' # Use MEMCACHED_SERVERS or MEMCACHED_HOST/MEMCACHED_PORT MEMCACHED_SERVERS='127.0.0.1:11211;127.0.0.1:11212' MEMCACHED_HOST='localhost' MEMCACHED_PORT='11211' MONGO_SERVERS='localhost:27017' WP_ENV='dev' WP_MEMORY_LIMIT='256M' WP_MAX_MEMORY_LIMIT='256M' WP_POST_REVISIONS='3' WP_HOME='https://www.mywebsite.com' WP_GIT_REPOSITORY='git@github.com:organization/mywebsite.git' FORCE_SSL_ADMIN='false' EMPTY_TRASH_DAYS='30' AUTH_KEY='' SECURE_AUTH_KEY='' LOGGED_IN_KEY='' NONCE_KEY='' AUTH_SALT='' SECURE_AUTH_SALT='' LOGGED_IN_SALT='' NONCE_SALT='' WOODY_MAINTENANCE='false' WOODY_MAINTENANCE_ADMIN='false' WOODY_ACCESS_STAGING='false' WOODY_ACCESS_LOCKED='false' WOODY_ACF_GOOGLE_MAPS_KEY='' WOODY_ACF_PRO_KEY='You must purchase an ACF license' WOODY_ADMIN_EMAIL='' WOODY_ADMIN_NAME='' WOODY_API_LOGIN='Provided by Raccourci Agency' WOODY_API_PASSWORD='Provided by Raccourci Agency' WOODY_CLOUDFLARE_ENABLE='false' WOODY_CLOUDFLARE_TOKEN='' WOODY_CLOUDFLARE_URL='' WOODY_CLOUDFLARE_ZONE='' WOODY_DEEPL_KEY='' WOODY_DEEPL_DOMAIN='' WOODY_GOOGLE_MAPS_API_KEY='Provided by Raccourci Agency' WOODY_GOOGLE_MAPS_API_KEY_PROD='Provided by Raccourci Agency' WOODY_GTM='' WOODY_IGN_MAPS_API_KEY='Provided by Raccourci Agency' WOODY_IGN_MAPS_API_KEY_PROD='Provided by Raccourci Agency' WOODY_IMAGE_WEBP_ENABLE='false' WOODY_LATITUDE='46.1482363' WOODY_LONGITUDE='-1.1750544' WOODY_OPTIONS='Provided by Raccourci Agency' WOODY_PERMALINK_STRUCTURE='/%postname%/' WOODY_SMTP_HOSTNAME='Provided by Raccourci Agency' WOODY_SMTP_PORT='587' WOODY_SMTP_SECURE='tls' WOODY_SMTP_SENDER='Provided by Raccourci Agency' WOODY_SMTP_SENDER_NAME='Provided by Raccourci Agency' WOODY_SMTP_USERNAME='Provided by Raccourci Agency' WOODY_SMTP_PASSWORD='Provided by Raccourci Agency' WOODY_SSO_ADD_URL_TOKEN='Provided by Raccourci Agency' WOODY_SSO_CLIENT_ID='Provided by Raccourci Agency' WOODY_SSO_CLIENT_SECRET='Provided by Raccourci Agency' WOODY_SSO_SECRET_URL='https://connect.studio.raccourci.fr' WOODY_TIMEZONE='Europe/Paris' WOODY_TOURISTIC_MAPS_API_KEY='Provided by Raccourci Agency' WOODY_TOURISTIC_MAPS_API_KEY_PROD='Provided by Raccourci Agency' WOODY_TWIG_CACHE_DISABLE='false' WOODY_VARNISH_CACHING_COOKIE='' WOODY_VARNISH_CACHING_DEBUG='true' WOODY_VARNISH_CACHING_ENABLE='false' WOODY_VARNISH_CACHING_IPS='127.0.0.1:80' WOODY_VARNISH_CACHING_TTL='2592000' WOODY_VARNISH_CACHING_TTL_FOCUSRANDOM='86400' WOODY_VARNISH_CACHING_TTL_FOCUSSHEET='43200' WOODY_VARNISH_CACHING_TTL_LIVEPAGE='900' WOODY_VARNISH_CACHING_TTL_WEATHERPAGE='21600' WOODY_VARNISH_CACHING_TTL_HAWWWAI_SHEET='2592000' WOODY_VARNISH_CACHING_TTL_HAWWWAI_PLAYLIST='43200'
First, install Woody Core via the Composer package manager (Version 2):
composer self-update --2 composer install
Run this command to install your site:
woody deploy:core woody deploy:site -s mywebsite
To reinstall your site from scratch
WARNING: it's necessary to empty its database before launching this command
woody deploy:core woody deploy:site -s mywebsite -o force
To execute the command but without the gulp compilation:
woody deploy:site -s mywebsite -o no-gulp
The commands can be combined by doing:
woody deploy:site -s mywebsite -o force,no-gulp
Here is the list of available ordering options:
- force
- speed
- no-gulp
- no-cache
- no-twig
- no-varnish
- no-cdn
- no-install
- no-updb
- no-acf
- no-warm
- no-sso
These two commands produce the same result. "speed" is a shortcut to all these options
woody deploy:site -s mywebsite -o speed woody deploy:site -s mywebsite -o no-install,no-updb,no-acf,no-gulp,no-warm,no-varnish,no-cdn,no-sso
đĨ Updating
If you want to make changes in dependencies, you must install this command beforehand
composer update --prefer-source
Otherwise use this command regularly to update yourself
composer update
đ Sass & Gulp
Run the following command to launch the "watch" of your files.
cd /gulp
yarn watch --site mywebsite
The following command is used to trigger the build of assets for the production.
cd /gulp
yarn build --site mywebsite
đ§ Debug PHP
There is also the "rcd" function, which allows you to make your own "print_r".
You can add 2 optional parameters:
rcd($val, $exit = false, $pre = true);
Exemple :
$array = ['color' => 'red']; rcd($array, true);
đ use WP-CLI
Activate a plugin
WP_SITE_KEY=mywebsite wp plugin activate hello
Import all the SIT (Tourist information system) records of the destination from API (10000 max for the moment)
WP_SITE_KEY=mywebsite wp woody:hawwwai warm_cache WP_SITE_KEY=mywebsite wp woody:process async_start
Delete all SIT records from the destination
WP_SITE_KEY=mywebsite wp woody:hawwwai delete_cache
Regenerate the canonicals all SIT records
WP_SITE_KEY=mywebsite wp woody:hawwwai update_canonicals WP_SITE_KEY=mywebsite wp woody:hawwwai rsdu
Update core translations
WP_SITE_KEY={{sitekey}} wp language core update
Update plugin translations (fr_FR example)
WP_SITE_KEY={{sitekey}} wp language plugin update --all fr_FR
or
WP_SITE_KEY={{sitekey}} wp language plugin update {{plugin-name}} fr_FR
âģī¸ Recommended VSCode extensions
- Git Graph
- Git Blame
- BABA-Git Flow
- EditorConfig for VS Code
- Beautify
- PHP-CS-Fixer
- PHP Extension Pack
- Sass
- TODO Highlighter
- Todo Tree
- Trailing SPaces
- Twig
- TWIG pack
- Bracket Pair Colorizer
- Composer
- ACF Snippet
- Change String Case
- Dash
- Project Manager
- Wordpress Snippets
Install php-cs-fixer and configure the VSCode extension to launch in "OnSave" mode
wget https://cs.symfony.com/download/php-cs-fixer-v3.phar -O php-cs-fixer sudo chmod a+x php-cs-fixer sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer
đ¤ Contributors
Thank you to all the people who have already contributed to Woody Core !
For future contributors, please read our Contributor Covenant Code of Conduct
Header photo by John Lee on Unsplash
đ License
Woody Core is open-sourced software licensed under the GPL2.
đ Sponsoring
Woody is a digital ecosystem co-financed by the Regional Tourism Committee of Brittany for eBreizh Connexion