前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决Typecho插件的配置信息没有找到

解决Typecho插件的配置信息没有找到

作者头像
用砖头敲代码
发布2022-08-30 11:15:47
9650
发布2022-08-30 11:15:47
举报
文章被收录于专栏:用砖头敲代码

避免踩坑

入坑Typecho已经一个多月了,在这期间Typecho的插件也开发了两个(其实我现在正在开发第三个,就不告诉你是个采集插件),然后大大小小的坑也踩了不少,其实最深的坑还是启用插件时提示“插件的配置信息没有找到”,这个具体原因就是因为首次启用插件时,在config()里面获取配置信息,这当然是获取不到的,我们复现一个这个错误。

先写插件

在写一个插件肯定是没那个精力了,我们就稍微改一下官方的HelloWorld插件吧,首先我们先启用报错,在Plugins.php最上面加入下面的代码,这样的话我们就可以看到错误信息了,不然就是Server Error

代码语言:javascript
复制
define('__TYPECHO_DEBUG__', true);

然后我们找到config这个函数,复现一下具体错误,我们加一个获取插件配置的代码,然后保存。

代码语言:javascript
复制
$setting = $options = Typecho_Widget::widget('Widget_Options')->plugin('HelloWorld');
echo "<script>alert(\"{$setting->word}\")</script>";

然后我们启用一下插件,看看会不会报错。

1.png
1.png

果不其然,真的报错了,有的时候在config()函数里面获取配置信息是为了更好的显示插件的某些配置,所以说这个对我们来说真的很重要,经过我多方摸索,最后找到了解决办法。

如何解决

其实解决方法也是灰常简单的,只需要加一个捕捉异常,就可以跳过这个坑(傻傻的我为什么早没有想到呢),我们来修改一下代码,我们加一个try catch,保存之后在重新启用插件。

代码语言:javascript
复制
try {
    $setting = $options = Typecho_Widget::widget('Widget_Options')->plugin('HelloWorld');
    echo "<script>alert(\"{$setting->word}\")</script>";
} catch (Exception $e) {
    echo "<script>alert(\"获取配置失败\")</script>";
}

重新启用插件之后果然没有报错,所以说这个方法是可行的,其他的思路我暂时没有,如果你们有好的方法可以在下面评论。

断更说明

随着新型冠状病毒的有效控制我们也迎来了开学,所以说日更的小站也被迫成了周更的小站,尽量保证不拖更吧,同时我正在开发我的第一个付费插件(采集文章的),所以说时间就更紧迫了,文章这个东西不原创就没有发的意义,最近脑子空空,也不知道发什么文章了,有想法的下方评论,废话不多说。

如无特殊说明《解决Typecho插件的配置信息没有找到》为博主MoLeft原创,转载请注明原文链接为:https://moleft.cn/post-120.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 避免踩坑
  • 先写插件
  • 如何解决
  • 断更说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档