elegant-glacier / elegant-glacier
这是我的包 ElegantGlacier
Requires
- php: ^7.4 || ^8.0
- twig/twig: ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.64
- phpunit/phpunit: ^9.5
README
WordPress 开发者面临的挑战
使用 WordPress 可能会给新开发者带来各种挑战。以下是一些挑战
1. 路由
URL 重写系统的复杂性。与设置和更改永久链接结构相关的问题。主题和插件重写规则与 WordPress 核心系统的干扰。
2. 缺乏模板引擎
默认情况下,WordPress 不使用像 Twig 或 Blade 这样的现代模板引擎。这迫使开发者将 PHP 代码与视图混合,导致代码杂乱无章、难以阅读,并降低了前端继承的能力。
3. 缺乏编写逻辑的指定位置
ElegantGlacier 是一个最小化的 PHP 库,旨在将 Twig 模板与 WordPress 集成。它提供了一些实用函数,这些函数包装了 WordPress 函数,使它们更易于阅读和维护。
为了解决这些问题,我们制作了 ElegantGlacier!
安装
要安装 ElegantGlacier,请按照以下步骤操作
-
导航到您的 WordPress 主题目录。
-
运行以下命令以使用 Composer 包含 ElegantGlacier
composer require elegant-glacier/elegant-glacier
用法
要在您的 WordPress 主题中使用 ElegantGlacier,请按照以下步骤操作
- 初始化 ElegantGlacier
将以下行添加到主题的 functions.php 文件中以初始化 ElegantGlacier
<?php // Load Composer dependencies. require_once __DIR__ . '/vendor/autoload.php'; // Initialize ElegantGlacier. ElegantGlacier::init(__DIR__); ?>
- 渲染模板
在模板文件(例如 index.php)中,您可以使用 ElegantGlacier::render 方法渲染 Twig 模板。以下是一个示例
<?php use ElegantGlacier\ElegantGlacier; // Render the template. ElegantGlacier::render('index.twig', [ 'title' => 'Welcome to ElegantGlacier', 'content' => 'This is a sample page using ElegantGlacier.' ]); ?>
- 创建模板
<h1>{{ title }}</h1>
首先在主题文件夹中创建模板目录,然后创建一个 index.twig
文件
实用函数
$ title = ElegantGlacier::getTitle();
ElegantGlacier 提供了几个实用函数,用于包装 WordPress 函数以使其更易于阅读。以下是一些示例:getTitle:获取当前帖子或页面的标题。
$content = ElegantGlacier::getContent();
getContent:获取当前帖子或页面的内容。
$posts = ElegantGlacier::getPosts([ 'post_type' => 'post', 'posts_per_page' => 10 ]); ?>
getPosts:根据指定的查询参数获取帖子列表。
路由器
use ElegantGlacier\Router; $router = new Router(); $router->addRoute('GET', '/blogs/:blogID', function ($blogID) { echo "My route is working with blogID => $blogID !"; exit; }); $router->matchRoute();
您也可以拥有自己的路由器
贡献
如果您想为 ElegantGlacier 贡献,请分支存储库并提交拉取请求。我们欢迎各种类型的贡献,包括文档改进、错误修复和新功能。
ElegantGlacier 是开源软件,MIT 许可。