Wordpress 未捕获错误:调用成员函数get\u slider\u language()

Wordpress 未捕获错误:调用成员函数get\u slider\u language(),wordpress,ubuntu,redis,Wordpress,Ubuntu,Redis,我正试图将我的wordpress网站转移到谷歌云上,我已经用revslider成功地转移了两个——第三个有一个臃肿的数据库,我需要修剪一些脂肪才能进入 我现在在尝试从任何前端页面查看幻灯片时遇到以下错误 Fatal error: Uncaught Error: Call to a member function get_slider_language() on null in /var/www/rr/wp-content/plugins/revslider/includes/output.cla

我正试图将我的wordpress网站转移到谷歌云上,我已经用revslider成功地转移了两个——第三个有一个臃肿的数据库,我需要修剪一些脂肪才能进入

我现在在尝试从任何前端页面查看幻灯片时遇到以下错误

Fatal error: Uncaught Error: Call to a member function get_slider_language() on null in /var/www/rr/wp-content/plugins/revslider/includes/output.class.php:675 Stack trace: #0 /var/www/rr/wp-content/plugins/revslider/includes/output.class.php(634): RevSliderOutput->add_slider_base() #1 /var/www/rr/wp-content/plugins/revslider/revslider.php(96): RevSliderOutput->add_slider_to_stage('new_home', '', '', '', '') #2 /var/www/rr/wp-includes/shortcodes.php(343): rev_slider_shortcode(Array, '', 'rev_slider') #3 [internal function]: do_shortcode_tag(Array) #4 /var/www/rr/wp-includes/shortcodes.php(218): preg_replace_callback('/\\[(\\[?)(rev_sl...', 'do_shortcode_ta...', '[rev_slider sli...') #5 /var/www/rr/wp-content/plugins/js_composer/include/helpers/helpers.php(240): do_shortcode('[rev_slider sli...') #6 /var/www/rr/wp-content/plugins/js_composer/include/templates/shortcodes/vc_column.php(94): wpb_js_remove_wpautop('[rev_slider sli...') #7 /var/www/rr/wp-content/plugins/js_composer/include/classes/shortcodes/core/class-wpbakerys in /var/www/rr/wp-content/plugins/revslider/includes/output.class.php on line 675

There has been a critical error on your website.

Learn more about debugging in WordPress.
我尝试了以下步骤,但没有成功

  • 切换主题
  • 禁用所有插件
  • 删除所有幻灯片并尝试使用新制作的幻灯片
  • 更新了所有插件,包括完全删除和重新安装最新版本
  • 我从虚拟机中删除了一些语言包,试图收回一些空间,并认为可能是这样的-但是用
    apt get-y安装“check language support-l en”
    重新安装似乎没有什么帮助
  • 更新至PHP7.4.8

  • 我使用的是带有OpenLiteSpeed和MySQL+Redis的Google云虚拟机。我将全局配置中唯一相关的选项从使用
    default
    作为语言更改为
    en
    。幻灯片在管理面板中的预览模式下按预期工作。

    这是由Revolution Slider插件中出现的错误造成的,至少从v6.2.21开始是如此(从那时起)。它在
    revslider/includes/output.class.php:678
    中调用

    $lang = $rs_wmpl->get_slider_language($this->slider);
    
    但是如果没有安装WPML插件,则
    $rs\u wmpl
    为空

    在他们修复之前,你可以破解插件以检查空值,例如

        //set slider language
        if($this->get_preview_mode() == false && !empty($rs_wmpl)){
            $lang = $rs_wmpl->get_slider_language($this->slider);
            $this->change_language($lang);
        }
    

    编辑:此错误在普通页面加载下不会重现,但在WP-CLI下加载站点时会重现,例如,通过
    WP profile
    。怀疑这与在这种情况下处理全局变量的方式有关。

    如果不查看您的WP设置,就不可能知道出了什么问题,但这正是我关心的一点:“我需要修剪一些脂肪以将其加入”。。。这是否意味着您从数据库中手动删除了内容?如果是这样,那么这就是最可能的原因。数据库对任何系统的运行都至关重要,手动删除内容可能会导致无法恢复的错误。我有150MB的滑块,所以我的意思是删除其中一些并重建,不知道最初的问题是什么,但不是数据库。在迁移数据库之前,我重新安装并手动安装了插件/主题,现在一切正常。