-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from devuri/devuri-patch-1
Update README.md
- Loading branch information
Showing
1 changed file
with
55 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,74 +1,88 @@ | ||
# WP Example Project | ||
# WPFramework | ||
|
||
This Composer project, `devuri/wp-example`, is designed for building robust WordPress applications, leveraging the power of `devuri/wp-framework` and a suite of essential plugins and themes for WordPress development. It's structured to facilitate easy development, deployment, and maintenance of WordPress sites. | ||
Effortlessly spin up a fully-configured WordPress site in no time with `devuri/wpframework`, tailored for swift development and deployment of secure scalable WordPress applications. Drawing inspiration from the simplicity of modern frameworks, this offers a seamless setup experience, embedding industry best practices right from the start. | ||
|
||
## Features | ||
|
||
- Integrated with `devuri/wp-framework` for enhanced WordPress development. | ||
- Includes a variety of plugins for functionality ranging from code highlighting to security and SEO. | ||
- Bundles popular themes like Kadence, Hello Elementor, and Twenty Twenty-Three for design flexibility. | ||
- Configured with a custom WordPress install directory and installer paths for mu-plugins, plugins, and themes. | ||
- **Quick Setup**: Start a new WordPress project with a single command. | ||
- **Best Practices**: Comes configured with modern development practices and standards. | ||
- **Scalable Structure**: Ready-made for building anything from small blogs to large, [multi-tenant](#) web applications. | ||
- **Security Focused**: Pre-configured with security best practices to keep your site safe. | ||
- **Developer Tools**: Integrated tools for debugging, testing, and deployment to enhance your workflow. | ||
|
||
## Requirements | ||
- **Modular Structure**: Promotes a modular approach to WordPress development, allowing you to organize your code into separate modules or packages for better code organization and reusability. | ||
- **Dependency Management**: With the help of Composer, allows you to manage your WordPress plugins, themes, and libraries effortlessly. It provides a composer.json file to easily include and update dependencies. | ||
- **Environment Configuration**: Implements the concept of environment-specific configurations using the `.env` file. You can define environment variables for different environments (e.g., development, staging, production) to easily manage database connections, API keys, and other environment-specific settings. | ||
- **Enhanced Security**: By moving sensitive files outside of the web root directory, it helps improve the security of your WordPress installation. Critical files are stored outside the public directory, preventing direct access. | ||
- **Version Control Friendly**: Encourages the use of version control systems like Git. By separating core WordPress files from your project files, it makes it easier to manage and track changes to your custom code while excluding WordPress core files from version control. | ||
- **Modern Development Workflow**: Embraces modern development practices, allowing you to use build tools like Webpack for asset management and build processes. You can easily integrate frontend frameworks or preprocessors into your project for an optimized development workflow. | ||
- **Tenancy** introduces comprehensive [`multi-tenant`](https://devuri.github.io/wp-framework/multi-tenant/) functionality, enabling the support of multiple tenants (websites) within a single environment. Each tenant benefits from its own dedicated database, configuration, and customization options, all while operating on a shared infrastructure. This design ensures maximum flexibility for tailoring solutions to meet specific requirements. | ||
|
||
## Getting Started | ||
|
||
### Prerequisites | ||
|
||
- PHP 7.4 or higher | ||
- Composer | ||
- MySQL or MariaDB database | ||
|
||
## Installation | ||
### Creating a New Project | ||
|
||
1. **Clone the Project** | ||
#### Installation | ||
|
||
Begin by cloning this project into your local development environment: | ||
Run the following command in your terminal: | ||
|
||
```sh | ||
git clone https://github.com/your-username/wp-example.git | ||
cd wp-example | ||
``` | ||
```shell | ||
composer create-project devuri/wpframework your-project-name | ||
``` | ||
> Replace `your-project-name` with your desired project directory. | ||
2. **Install Dependencies** | ||
After the installation process, you will find a new `.env` file in your project directory. This file contains all the necessary environment variables. | ||
|
||
Run Composer to install the required PHP packages: | ||
**Navigate to Your Project Directory**: | ||
|
||
```sh | ||
composer install | ||
```bash | ||
cd your-project-name | ||
``` | ||
|
||
3. **WordPress Configuration** | ||
Open the `.env` file in a text editor of your choice and make the following configurations: | ||
|
||
After installing the dependencies, configure your WordPress installation as you would normally. The WordPress core will be located in the `public/wp` directory. | ||
**DB_NAME:** Set the name of your database. | ||
|
||
4. **Activating Plugins and Themes** | ||
**DB_USER:** Set the database user. | ||
|
||
Activate the required plugins and themes through the WordPress admin dashboard or WP-CLI. | ||
**DB_PASSWORD:** Set the database password. | ||
|
||
## Structure | ||
**DB_HOST:** In most cases, this can remain as 'localhost' if you are using the default database host. | ||
|
||
- `public/wp`: WordPress core installation directory. | ||
- `public/mu-plugins`: Directory for Must-Use plugins. | ||
- `public/plugins`: Standard WordPress plugins directory. | ||
- `public/app/themes`: WordPress themes directory. | ||
```shell | ||
WP_HOME='https://yourdomain.com' | ||
WP_SITEURL="${WP_HOME}/wp" | ||
|
||
DB_NAME=your_db_name | ||
DB_USER=your_db_user | ||
DB_PASSWORD=your_db_password | ||
``` | ||
|
||
## Plugins Included | ||
Update the **WP_HOME** value with the correct URL for your application. | ||
|
||
- Easy Code Highlighter | ||
- Advanced Custom Site Status | ||
- Application Passwords Manager | ||
- ... and more, offering a wide range of functionality from SEO optimization to security enhancements. | ||
## Run WordPress Installation: | ||
|
||
## Themes Included | ||
Navigate to your project's public domain in a web browser to run the WordPress installation, or use WP-CLI to install WordPress. | ||
> Utilize the extensive customization options to tailor your WordPress application to your needs. | ||
- Kadence | ||
- Hello Elementor | ||
- Twenty Twenty-Three | ||
## Documentation | ||
|
||
## Customization | ||
|
||
Feel free to customize the Composer `require` section to include or exclude plugins and themes as per your project requirements. | ||
For more detailed instructions and comprehensive documentation, visit [WPFramework Documentation](#). | ||
|
||
## Contributing | ||
|
||
Contributions to the project are welcome! Please follow the standard GitHub pull request process to propose changes. | ||
If you have ideas for improvements or want to contribute code, please follow our [Contributing Guidelines](#). | ||
|
||
## Support | ||
|
||
Need help or have a question? Open an issue on our [GitHub repository](https://github.com/devuri/wpframework/issues), and we'll be happy to assist. | ||
|
||
## License | ||
|
||
This project is open-sourced software licensed under the MIT License. See the LICENSE file for more information. | ||
This project is open-sourced software licensed under the [MIT License](LICENSE). |