thezombieguy / wpc
自定义WordPress功能,允许进行缓存、主题化和简单的API端点创建。
This package is not auto-updated.
Last update: 2024-09-26 19:42:29 UTC
README
此库旨在为WordPress开发者提供构建自定义主题时的额外功能。
此库包括高级主题模板(支持变量注入)、用于简化端点开发的API封装器以及一个简单的缓存系统,该系统将缓存对象存储到文件系统中。
安装
您可以使用composer进行安装
composer require thezombieguy/wpc 2.0
用法
更多信息可在docs文件夹中找到。
主题
首先在您的主题文件夹中创建一个模板。例如,我们将创建templates/test.php
<?php print $test; ?>
现在,在您的页面模板之一中,添加以下代码。
<?php print wpc_theme('templates/test', array('test' => 'hello world')); ?>
wpc_theme函数接受两个参数。模板相对于WordPress主题目录的位置(不需要提供php扩展名,只需提供名称),以及要传递给模板的变量集。
每个数组变量都将传递到模板中,并作为其自身的变量提取。您还可以直接通过调用\WPC\Theme类来访问Theme类。
$template = 'templates\test' $theme = new \WPC\Theme($template); $theme->set('test', 'hello world'); $content = $theme->fetch(); print $content;
缓存
创建一个新的缓存对象。如果您的上传文件夹中尚不存在wpc_cache文件夹,则这将创建一个。请确保您具有正确的权限。
$cache = new Cache();
现在将一些数据缓存到文件系统。
$cache->set('myCacheData', array('fruit' => 'apple'));
一旦缓存,您以后可以检索它。
$myCacheData = $cache->get('myCacheData');
调用缓存数据时,缓存返回一个对象。$myCacheData->time
表示此数据缓存的时刻。$myCacheData->data
是您放入缓存中的数据。
stdClass Object
(
[data] => Array
(
[fruit] => apple
)
[time] => 1489257366
)
您可以通过检查$myCacheData->time
,在一段时间后,您可以使用更新的信息删除并重新缓存对象。
您还可以使用以下方式清除缓存文件夹:
$cache->clear();
这将销毁所有缓存对象。
API
创建会回调到自定义PHP类的端点。
首先创建一个处理端点的回调类。
class MyClass { public function myMethod($args) { wp_json_send($args); } }
现在创建一个要注册的端点数组。注意URL字符串中的handler/callback参数必须与上面创建的类/方法匹配。
$endpoint = array( 'regex' => '^api/numbers/([0-9]+)/([0-9]+)', 'redirect' => 'index.php?__api=1&handler=MyClass&callback=myMethod&uid=$matches[1]&prize_id=$matches[2]', 'after' => 'top', ) $endpoints[] = $endpoint; new WPC\Api($endpoints);
现在,请更新WordPress中的永久链接,否则您将看不到此功能。转到设置->永久链接并点击保存更改。
现在,当您访问端点URL http://example.com/api/numbers/1/2 时,您将看到包含您指定值的json字符串输出。
重定向字符串必须包含__api、handler和callback变量,否则端点将不会执行。