Fater error:Cannot redeclare class的解决办法 – 千丝海阁

首页 » Wordpress » Fater error:Cannot redeclare class的解决办法

Fater error:Cannot redeclare class的解决办法

4686 13

前两天,小可在改插件的时候说碰到了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

本文原始地址:https://www.tiandiyoyo.com/2013/05/fater-error-wordpress/
本站所有文章,除了特别注明外,均为本站原创,转载请注明出处来自www.tiandiyoyo.com

您可能还会对以下文章感兴趣:

评论前先开启评论开关:


13 Comments

  1. 楼主高手 插件改起来 很蛋疼的

  2. yxiao :

    这种 错误犯的很少。

  3. 九笑 :

    呵呵!~~~不懂凑个热闹!

  4. 真的是高手,让我长见识了,学习一下

  5. 知了 :

    你的网站也不错~顺便问下,你的工具栏里的站点统计是如何实现的?

  6. 阿邙 :

    我是围观群众。。

  7. 这些我可不懂,看来博主是个高手哦

  8. 我也想说楼主是技术博客来的..

  9. 博主是技术高手啊

  10. 以后愚人的网站要改插件,知道要请谁帮忙了,哈哈

  11. 学习了,呵呵。变量的命名非常主要。。

载入分页评论...