typecho
typecho copied to clipboard
A PHP Blogging Platform. Simple and Powerful.
## 描述这个 Bug - 简明扼要地描述错误是什么。 1、所有已启用的插件都提示“此插件文件已经损坏或者被不安全移除, 强烈建议你禁用它” 2、而未启用的插件全显示空白信息,只有操作列有一个“即插即用”提示,然后全都没 3、并且已启用的插件全部“半正常”工作,部分功能失效,并且禁用后无法再重新启用(同描述 2) 4、整个 Typecho 工作完全正常,唯独插件管理不正常,并且开启调试模式也没有任何 debug 信息输出 ### 复现方式 在我的 VPS 上稳定复现,其它的不清楚能不能复现 试过按照升级的步骤重新覆盖 Typecho 1.2.1 稳定版 试过禁用并移除所有其它插件,重新覆盖默认的 “HelloWorld" 示例插件 试过用回 Typecho 1.2.1...
## 描述这个 Bug 在模板[Aria](https://github.com/Siphils/Typecho-Theme-Aria)的functions.php中,使用 ``` Typecho_Plugin::factory('Widget_Abstract_Contents')->contentEx = array('Contents', 'parse'); Typecho_Plugin::factory('Widget_Abstract_Contents')->excerptEx = array('Contents', 'parse'); Typecho_Plugin::factory('Widget_Abstract_Comments')->contentEx = array('Comments', 'parse'); ``` 处理文章内容,但经调试验证,lib/Contents.php内的parse方法没有被运行。 该问题在1.2.1上没有出现 ### 复现方式 复现的步骤: 1. 安装Aria主题 2. 打开一个包含代码块的博文 3. 内容显示存在问题 ###...
## 你的想法是否与某个问题有关?请描述 1. 在主题中通过使用插件的方法`Helper::addRoute`添加路由,无法匹配到 自定义Widget的路径问题? > 尝试这样可以成功添加路由的。 2. 使用$router = Typecho\Router::get('post');查询路由结构,与post路由差不多一致的。 > 那就代表支持这样做的 4. 但是无法像在插件那样 找到自定义Widget的路径问题 > Helper::addRoute('login', '/api/auth/login', UserLogin::class, 'action'); ## 描述你想要的解决方案 #### 支持在主题functions中添加路由 ## 描述你考虑过的替代方案 > 目前我可以这样做 -...
## 你的改进是否与某个问题有关?请描述 目前 classic 主题风格个人比较喜欢,就是不能快速进入某个分类 ## 描述你想要的解决方案 希望和默认主题一样增加一个显示分类的菜单
## 问题 typecho文档站的[插件接口与功能列表](https://docs.typecho.org/plugins/hooks)似乎出现了大量的格式错乱和内容缺失 ## 期望 文档正确排版,或者提供原文阅读
## 你的改进是否与某个问题有关?请描述 经常在手机上发布和管理typecho里的文章,在弹出手机输入法窗口后,很多操作不得不单独滑动屏幕操作。 比如最简单的发布,需要屏幕上滑才能点击。 ## 描述你想要的解决方案 希望手机端的后台UI能够优化,更适应在半屏手机上的操作。 比如基本操作能在半屏内完成,不需要上下滑动屏幕找按钮 ## 描述你考虑过的替代方案 有专门的客户端更好,但意义有限。
## 目的描述 目的是实现这样的功能:在具体的模板文件中,声明自定义字段,编辑时显示对应的编辑界面,使自定义模板更加灵活。 ## 需求分析 Typecho 的自定义字段是个很好的特性,目前主要有3种方式添加自定义字段: 1. 由主题的 `functions.php` 文件中的 `themeFields` 函数添加自定义字段。 2. 用插件接口 `getDefaultFieldItems` 添加自定义字段。 3. 后台编辑内容时,手动添加自定义字段。 方式1和方式2,都是对所有文章编辑有效,编辑任何文章/页面都会显示这些字段。 方式3,只对具体的单篇文章/页面有效。 缺少了更具有针对性的自定义字段,比如针对某个分类、某个模板文件所特有的自定义字段,不改动typecho源码的情况下,只能通过插件弥补。 我动手实现了针对具体模板文件的自定义字段支持的插件,在这里记录一下,晚些整理代码发到 github。 ## 应用实例 模板文件: ```php ``` 该模板使用...
## 描述这个 Bug 初始化安装访问http://xxx.com/install.php,点击下一步时的古怪错误,没有任何提示,导致没办法继续安装。 百度找了好久都没人遇到过类似问题。 ### 复现方式 复现的步骤: 1. 前往 'http://xxx.com/install.php' 2. 点击 '下一步' 4. 看到错误 {"success":1,"message":2,"config":null} ### 期望的结果 希望给出明确的错误提示,或者调试方法 ### 截图 如果可以的话,请添加截图或视频以帮助解释你的问题。 ### 平台 - 操作系统版本: - Apache/Nginx 版本:nginx1.25.5...
[hashids](https://hashids.org/php) 是一种将数字id和混淆后的字符id互相转换的算法库,如果用在typecho中,有点类似于自动slug但其实不一样,目的就是实现即使不设置slug,也不能使用数字id访问文章,而是用hashid访问文章。 举个例子。 使用hashids之前,如果未手动设置slug,是这样访问: ``` example.com/blog/1 example.com/blog/2 example.com/blog/3 ``` 使用hashids之后,如果未手动设置slug,这样访问: ``` example.com/blog/Z4UrtW example.com/blog/gPUasb example.com/blog/VolejR ``` 后台自动把`Z4UrtW`这样的 hashid 转换回数字id,再用于后续的数据库查询。 程序前后台生成的文章链接,如果文章没有指定slug,则使用 hashid 生成链接。 相当于是给 id / slug 的处理过程增加了一个中间处理器(插件?). 为什么需要这个? 不想要逐个手动输入slug,又不想用户能够按数字顺序读取遍历。文章较多时比较有用。 希望提供思路。
## Main Changes Implemented comprehensive error handling in the `Plugin` class's `call` method, which can now handle the following types of errors: 1. **Class Not Found Errors** - Automatically disables...