Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/elegantglacier/elegantglacier
ElegantGlacier is a minimal PHP library designed to integrate Twig templating with WordPress. It provides utility functions that wrap around WordPress functions to make them more readable and maintainable.
https://github.com/elegantglacier/elegantglacier
php wordpress wordpress-theme
Last synced: about 1 month ago
JSON representation
ElegantGlacier is a minimal PHP library designed to integrate Twig templating with WordPress. It provides utility functions that wrap around WordPress functions to make them more readable and maintainable.
- Host: GitHub
- URL: https://github.com/elegantglacier/elegantglacier
- Owner: ElegantGlacier
- Created: 2024-08-05T11:27:00.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-23T14:59:25.000Z (about 2 months ago)
- Last Synced: 2024-10-10T03:42:15.518Z (about 1 month ago)
- Topics: php, wordpress, wordpress-theme
- Language: HTML
- Homepage:
- Size: 4.41 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ElegantGlacier
### Challenges of Working with WordPress for DevelopersUsing WordPress can present various challenges for new developers. Below are some of these challenges:
### 1. Routing
The complexity of the URL rewriting system.
Issues related to setting and changing Permalink structures.
Interference of theme and plugin rewrite rules with the core WordPress system.
### 2. Lack of a Template Engine
By default, WordPress does not use a template engine like modern systems such as Twig or Blade. This forces developers to mix PHP code within views, leading to messy and unreadable code and reducing the capability for frontend inheritance.
### 3. Lack of a Designated Place for Writing Logic
ElegantGlacier is a minimal PHP library designed to integrate Twig templating with WordPress. It provides utility functions that wrap around WordPress functions to make them more readable and maintainable.# For solving these problems we make ElegantGlacier!
## InstallationTo install ElegantGlacier, follow these steps:
1. Navigate to your WordPress theme directory.
2. Run the following command to require ElegantGlacier using Composer:```sh
composer require elegant-glacier/elegant-glacier
```Usage
To use ElegantGlacier in your WordPress theme, follow these steps:
1. Initialize ElegantGlacierAdd the following lines to your theme’s functions.php file to initialize ElegantGlacier:
```php
```
2. Render a Template
In your template files (e.g., index.php), you can render Twig templates using the ElegantGlacier::render method. Here is an example:
```php
'Welcome to ElegantGlacier',
'content' => 'This is a sample page using ElegantGlacier.'
]);
?>
```3. Create a Template
First create the template directory in the theme folder and then create a `index.twig` file
```{{ title }}
```Utility Functions
ElegantGlacier provides several utility functions that wrap around WordPress functions to make them more readable. Here are a few examples:
getTitle: Gets the title of the current post or page.
```php
$ title = ElegantGlacier::getTitle();
```
getContent: Gets the content of the current post or page.
```php
$content = ElegantGlacier::getContent();
```
getPosts: Gets a list of posts based on the specified query arguments.
```php
$posts = ElegantGlacier::getPosts([
'post_type' => 'post',
'posts_per_page' => 10
]);
?>
```
## Router
You can also have you own router
```php
use ElegantGlacier\Router;$router = new Router();
$router->addRoute('GET', '/blogs/:blogID', function ($blogID) {
echo "My route is working with blogID => $blogID !";
exit;
});$router->matchRoute();
```## Contributing
If you would like to contribute to ElegantGlacier, please fork the repository and submit a pull request. We welcome contributions of all kinds, including documentation improvements, bug fixes, and new features.
LicenseElegantGlacier is open-source software licensed under the MIT license.
This README file provides clear installation instructions, usage examples, and a brief overview of the utility functions included in the `ElegantGlacier` library. It should help developers get started quickly and understand how to integrate the library into their WordPress themes.