自定义WordPress功能,允许进行缓存、主题化和简单的API端点创建。

v2.0 2017-03-11 19:11 UTC

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变量,否则端点将不会执行。