在开发typecho主题的时候,typecho本身已经提供了封装好的设置项类,常见的例如有:Checkbox、Radio、Select、Text、Textarea等等。我们很方便的就能通过调用相关类来添加主题设置项,这也是最常见的一种方式。虽然够用,但这也带来了一些局限性,相比较于Wordpress,灵活度还是不够高。为了解决上述问题,我们可以通过配合插件来从底层自己创建自定义的设置项页面。大致流程有:通过插件添加相关路由创建自定义的设置项表封装相关数据库语句创建全局变量以便于读取设置项下面详细叙述各个流程:创建插件并添加路由创建一个插件目录,例如"YourPlugin",并在该目录下创建一个"Plugin.php"文件。接着就是添加插件基本方法以及需要继承的类,可以参考官方的HelloWorld插件来写。在activate()方法中,使用Helper中的addRoute添加路由:const widgetName = 'TypechoPlugin\Furry\Router';
// 激活插件方法,如果激活失败,直接抛出异常
public static function activate()
{
Helper::addRoute('furry_options','/furry/options', self::widgetName, 'furryOptionsPageFunc'
...
继续阅读
(58)