前两天,小可在改插件的时候说碰到了Fater error:Cannot redeclare class的错误,很明显,这是个class重复定义的错误。我看了下插件的代码,得出了以下结论。
- 插件中的类名必须不能重复,否则会报Fater error:Cannot redeclare class的错误。
例如以下:
a.php class abc{} .... b.php class abc{} //和上面那个类重复了。 ....
- 插件中的function名尽量取能和其他function不会重复的名字,比如叫tiandi_get_post()要比叫test_get_post()来得好,当然继承类中的function不属于此范畴内,比如widget类下的update()等等。
例如以下:
class my_widget extends WP_Widget { function my_widget(){ ... } function widget($args, $instance) { ... } function update($new_instance, $old_instance) { //这种就不需要改了,它是属于my_widget下的实例化方法。 ... } function form($instance) { ... } }
- 记得把插件中你改过的function新名,替换所有的旧名,否则会报错Fatal error: Call to undefined function。
例如以下:
function my_new_function() {} my_function(); //由于function名字已经变为my_new_function()了,所以这里调用会报Fatal error: Call to undefined function的错误。
如果您写的插件打算上传到官方插件中心的话,上面的第二点则是你必须牢记的东西,否则wordpress开发组可不会通过你的插件。
文章评分1次,平均分5.0:★★★★★
楼主高手 插件改起来 很蛋疼的
你也不是么,主题一直在改,今天总算看到成品了。
这种 错误犯的很少。
呵呵!~~~不懂凑个热闹!
真的是高手,让我长见识了,学习一下
你的网站也不错~顺便问下,你的工具栏里的站点统计是如何实现的?
纯代码实现的,见wordpress上博客统计的代码
我是围观群众。。
这些我可不懂,看来博主是个高手哦
我也想说楼主是技术博客来的..
博主是技术高手啊
以后愚人的网站要改插件,知道要请谁帮忙了,哈哈
学习了,呵呵。变量的命名非常主要。。