WordPress 主题提示Error: Declaration of MyClass::start_lvl() should be compatible with that of Walker_Nav_Menu::start_lvl()

Wordpress 主题提示Error: Declaration of MyClass::start_lvl() should be compatible with that of Walker_Nav_Menu::start_lvl()
Wordpress 主题提示Error: Declaration of MyClass::start_lvl() should be compatible with that of Walker_Nav_Menu::start_lvl(),
Wordpress 安装主题时提示 以上问题,或者空间服务器PHP版本升级 导致出现以上问题。这个问题是因为

PHP版本升级到PHP7以后,重写方法的函数签名本应该就和基类函数是一致的,我认为这也是符合自然规律的,因为override本来就是覆盖的意思嘛,既然覆盖了,那么就应该和原函数一致,不然怎么能“盖”的住呢~并且方法的重写多用在重写虚函数或者更明白的说就是重写接口的函数,如果重写的时候函数签名都不一致了,还要接口干嘛呢。。。

上面的话看不懂没关系,直接按照解决方案来即可

解决方案:对应自身的问题替换对应代码即可

function start_el(&$output, $category, $depth, $args){
改成
function start_el(&$output, $category, $depth = 0, $args = array(), $current_object_id = 0){
----------------------------------------
function end_lvl(&$output, $depth, $args) {
改成
function end_lvl(&$output, $depth = 0, $args = array()) {
----------------------------------------
function start_lvl(&$output, $depth, $args) {
改成
function start_lvl(&$output, $depth = 0, $args = array()) {
----------------------------------------
function end_el(&$output, $category, $depth, $args) {
改成
function end_el(&$output, $category, $depth = 0, $args = array()) {

 

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"Yongwp.com",如遇到无法解压的请联系管理员!
WordPress外贸建站 » WordPress 主题提示Error: Declaration of MyClass::start_lvl() should be compatible with that of Walker_Nav_Menu::start_lvl()

查看优质的WP整站案例

立即查看 联系我们