GiveWP - The #1 WordPress Fundraising Plugin π
This plugin is the highest rated, most downloaded, and best supported donation plugin for WordPress. Built from the ground up for all your fundraising needs, GiveWP provides you with a powerful donation platform optimized for online giving that's both easy-to-use for beginners yet flexible for developers to craft their own unique giving experiences.
π Not a developer? Running WordPress? Download GiveWP on WordPress.org.
Welcome to the GiveWP GitHub repository. This is the core repository and heart of an ecosystem of active development. Here you can browse the source, look at open issues, and contribute to the project.
Many of our add-ons are in public repositories, however, the majority are private. If you have a legitimate need for access, please reach out to us and we'll be happy to grant you access.
This repository is not suitable for WordPress admin or donor support. Please don't use GitHub issues for non-development related support requests. Don't get us wrong, we're more than happy to help you! However, to get the support you need please use the following channels:
If you're looking to contribute or actively develop on GiveWP, welcome! We're glad you're here. Please βοΈ this repository and fork it to begin local development.
Most of us are using Local by Flywheel to develop on WordPress, which makes set up quick and easy. If you prefer Docker, VVV, or another flavor of local development that's cool too!
To get started developing on the GiveWP platform you will need to perform the following steps:
give.test
as the URLcd
into your local plugins directory: /path/to/wp-content/plugins/
give
directorycomposer install
to set up dependenciesnpm install
to get the necessary npm packagesnpm run dev
to build the initial scripts & stylesThat's it. You're now ready to start development.
Available commands
Note: as of GiveWP 3.0 we have two separate build processes. One for the legacy codebase that uses Laravel Mix and one for scripts introduced 3.0+ that use @wordpress/scripts. There are commands for running both and individual processes. The commands are as follows:
Command | Description |
---|---|
npm run dev |
(v2 & v3) Runs a one time build for development. No production files are created. |
npm run dev:v3 |
(v3) Runs a one time build for development. No production files are created. |
npm run watch |
(v2) Automatically re-builds as changes are made. |
npm run watch:v3 |
(v3) Automatically re-builds as changes are made. |
npm run build |
(v2 & v3) Builds the minified production files for release. |
npm run build:v3 |
(v3) Builds the minified production files for release. |
Development Notes
Ensure that you have SCRIPT_DEBUG
enabled within your wp-config.php file. Here's a good example of wp-config.php for debugging:
// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );
// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );
// Loads unminified core files
define( 'SCRIPT_DEBUG', true );
package.lock
file. Read more about why here..eslintrc
and .editorconfig
files within the Repo's root directory. Please only submit PRs following those coding style rulesets.