WPML
Статус
Решено
Заявлено для
WPML Multilingual CMS 4.5.10
Решено в
4.5.11
Связанный плагин/тема
Divi
Теги темы
Bug, Compatibility

Обзор проблемы

Если Вы переводите сайт, созданный с помощью темы оформления Divi, но используете лицензию WPML Multilingual Blog, при попытке создать новую страницу Вы увидите следующую ошибку:

PHP Fatal error: Uncaught Error: Undefined constant “WPML_TM_FOLDER” in …\wp-content\plugins\sitepress-multilingual-cms\addons\wpml-page-builders\classes\Integrations\Divi\TinyMCE.php:21

Stack trace:

#0 …\wp-content\plugins\sitepress-multilingual-cms\addons\wpml-page-builders\classes\Integrations\Divi\TinyMCE.php(21): constant('WPML_TM_FOLDER’)

#1 …\wp-includes\class-wp-hook.php(309): WPML\Compatibility\Divi\TinyMCE->filterEditorAutoTags(Array)

#2 …\wp-includes\plugin.php(191): WP_Hook->apply_filters(Array, Array)

#3 …\wp-includes\script-loader.php(560): apply_filters('tiny_mce_before…', Array, ‘classic-block’)

#4 ….\wp-admin\edit-form-blocks.php(252): wp_tinymce_inline_scripts()

#5 …\wp-admin\post-new.php(72): require('C:\\xampp8\\htdoc…')

#6 {main}

thrown in …\wp-content\plugins\sitepress-multilingual-cms\addons\wpml-page-builders\classes\Integrations\Divi\TinyMCE.php on line 21

Обходное решение

Пожалуйста, убедитесь, что у Вас есть полная резервная копия Вашего сайта:

  1. Откройте файл /wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Integrations/Divi/TinyMCE.php.
  2. Найдите строку 9.
  3. Замените:
    public function add_hooks() {
        add_filter( 'tiny_mce_before_init', [ $this, 'filterEditorAutoTags' ] );
    }

    на:
    public function add_hooks() {
        if ( defined( 'WPML_TM_FOLDER' ) ) {
            add_filter( 'tiny_mce_before_init', [ $this, 'filterEditorAutoTags' ] );
        }
    }

Все известные проблемы →