elegant-glacier/elegant-glacier

这是我的包 ElegantGlacier

v1.3 2024-09-19 18:34 UTC

This package is not auto-updated.

Last update: 2024-09-23 14:59:32 UTC


README

WordPress 开发者面临的挑战

使用 WordPress 可能会给新开发者带来各种挑战。以下是一些挑战

1. 路由

URL 重写系统的复杂性。与设置和更改永久链接结构相关的问题。主题和插件重写规则与 WordPress 核心系统的干扰。

2. 缺乏模板引擎

默认情况下,WordPress 不使用像 Twig 或 Blade 这样的现代模板引擎。这迫使开发者将 PHP 代码与视图混合,导致代码杂乱无章、难以阅读,并降低了前端继承的能力。

3. 缺乏编写逻辑的指定位置

ElegantGlacier 是一个最小化的 PHP 库,旨在将 Twig 模板与 WordPress 集成。它提供了一些实用函数,这些函数包装了 WordPress 函数,使它们更易于阅读和维护。

为了解决这些问题,我们制作了 ElegantGlacier!

安装

要安装 ElegantGlacier,请按照以下步骤操作

  1. 导航到您的 WordPress 主题目录。

  2. 运行以下命令以使用 Composer 包含 ElegantGlacier

    composer require elegant-glacier/elegant-glacier

用法

要在您的 WordPress 主题中使用 ElegantGlacier,请按照以下步骤操作

  1. 初始化 ElegantGlacier

将以下行添加到主题的 functions.php 文件中以初始化 ElegantGlacier

<?php

// Load Composer dependencies.
require_once __DIR__ . '/vendor/autoload.php';


// Initialize ElegantGlacier.
ElegantGlacier::init(__DIR__);
?>
  1. 渲染模板

在模板文件(例如 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.'
]);
?>
  1. 创建模板
<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 许可。