Engage is a Timber-powered WordPress theme for The Center for Media Engagement at the University of Texas at Austin.
Note: This repo includes the entire WordPress installation. However, the only directory you should work on is
wp-content/themes/engage-2-x. Avoid making changes to other files as they are tied to live sites.
- Install WP Engine Local App.
- Connect with the CME WP Engine account.
- Download
mediaengagement.orgfrom Local App. - Clone this GitHub repo and fetch.
- Install npm dependencies.
- Start development.
For full installation instructions, refer to the development guide.
Engage 2.x is forked from the Timber Starter Theme. You can follow the Timber Composer installation guide for additional setup details.
-
Clone the repo and navigate to the theme directory:
cd yourSiteName/app/public/wp-content/themes/engage-2-x -
Check Node and Yarn versions:
node -v yarn -v
-
Install dependencies:
yarn
-
Install Timber via Composer:
composer require timber/timber
-
Activate the
engage-2-xtheme from WP Admin → Appearance. -
Run the development server:
yarn watch
-
Before pushing changes, compile assets for production:
yarn prod
If you encounter issues with the Engage theme:
-
Check the Local App setup:
- Switch the web server to nginx.
- Ensure PHP version is 8.2.10 or higher.
-
Switch to a default theme:
- Rename the
engagetheme folder to force WordPress to switch to a default theme. - Disable all plugins except for ACF.
- Rename the theme back and reactivate it in WP Admin.
- Rename the
-
Install Timber Dump Extension (if needed):
composer require hellonico/timber-dump-extension
-
Deactivate the Engaging Quiz Plugin: It is known to cause issues.
Github Actions deploy to each site via public/.github/workflows/*.yml files. See WP Engine Branched Deploys to WP Engine with GitHub Actions for instructions and enp-platform Actions to view workflow processing. Pushing changes to the master branch does not deploy to the dev site.
-
Notify Kat before pushing updates to the live site.
-
Compile production assets:
yarn prod
-
Merge and push changes to the development site:
git checkout dev && git merge master && git push
-
Merge and push changes to the staging site:
git checkout stage && git merge master && git push
-
Notify Kat before pushing to the live site.
-
Merge changes to the production site:
git checkout stable && git merge master:wq+ enter -
Push to the production site:
git push
Only for your Dev environment. This will not touch uploads or code—just the DB.
-
Make sure you’ve set your SSH keys as described in
ssh/sync-db.sh. -
Confirm you have the Yarn script in your
package.json: -
From the theme root, run:
yarn sync-db-dev
This will:
- Export the Production database
- Stream it into Development
- Search-replace your live URL with the dev URL
- Flush the WP cache
yarn sync-db-staging
This will:
- Export the Production database
- Stream it into Staging
- Search-replace your live URL with the staging URL
- Flush the WP cache
-
Verify by spot-checking a few pages and custom post types in your Dev site.
ACF field groups are automatically synced across environments via JSON files in the acf-json directory.
- Field group changes are automatically saved as JSON in
acf-jsonwhen updated in WP Admin. - Pull changes from the repo to sync ACF fields on your local environment.
- Commit and push any changes after updating field groups to share them with the team.
- The ACF admin is hidden on production and non-local environments by checking
WP_ENVIRONMENT_TYPE. It is only visible in local environments.
Local users: Run WP-CLI from the Local app’s Site Shell (right‑click the site → “Open site shell” or equivalent). Commands run from your normal terminal can’t reach the database and will fail with “Error establishing a database connection.”
Run the commands below from the WordPress root (e.g. app/public in your local site folder) or use --path:
wp core update
wp plugin update --all
wp theme update --allTo update a single plugin or theme: wp plugin update <slug> or wp theme update <slug>. List what’s outdated with wp plugin list --status=update-available and wp theme list --status=update-available.
Before running wp core update, note your current version: wp core version. If the site breaks after updating, reinstall the previous version:
wp core update --version=6.4.2Use the version number you noted (or the last known good release from wordpress.org/support/wordpress-versions).
{ "scripts": { "sync-db": "bash ssh/sync-db.sh" } }