入坑Typecho已经一个多月了,在这期间Typecho的插件也开发了两个(其实我现在正在开发第三个,就不告诉你是个采集插件),然后大大小小的坑也踩了不少,其实最深的坑还是启用插件时提示“插件的配置信息没有找到”,这个具体原因就是因为首次启用插件时,在config()
里面获取配置信息,这当然是获取不到的,我们复现一个这个错误。
在写一个插件肯定是没那个精力了,我们就稍微改一下官方的HelloWorld
插件吧,首先我们先启用报错,在Plugins.php
最上面加入下面的代码,这样的话我们就可以看到错误信息了,不然就是Server Error
define('__TYPECHO_DEBUG__', true);
然后我们找到config
这个函数,复现一下具体错误,我们加一个获取插件配置的代码,然后保存。
$setting = $options = Typecho_Widget::widget('Widget_Options')->plugin('HelloWorld');
echo "<script>alert(\"{$setting->word}\")</script>";
然后我们启用一下插件,看看会不会报错。
果不其然,真的报错了,有的时候在config()
函数里面获取配置信息是为了更好的显示插件的某些配置,所以说这个对我们来说真的很重要,经过我多方摸索,最后找到了解决办法。
其实解决方法也是灰常简单的,只需要加一个捕捉异常,就可以跳过这个坑(傻傻的我为什么早没有想到呢),我们来修改一下代码,我们加一个try catch
,保存之后在重新启用插件。
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