WPML
Статус
Решено
Заявлено для
WPML Multilingual CMS 4.6.2
Связанный плагин/тема
The Events Calendar
Теги темы
Compatibility

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

Если Вы используете PHP8+ и The Events Calendar, Вы увидите фатальную ошибку на переведенных событиях и странице их архива:

PHP Fatal error: Uncaught TypeError: Illegal offset type in isset or empty in …/wp-content/plugins/sitepress-multilingual-cms/classes/url-handling/converter/class-wpml-url-cached-converter.php:46

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

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


  1. Откройте файл …/wp-content/plugins/the-events-calendar/src/Tribe/Integrations/WPML/Views/V2/Filters.php.

  2. Найдите строку 188.

  3. Замените:
    $event->permalink = apply_filters( 'wpml_permalink', $event->permalink );

    На:
    // WPML Workaround for compsupp-6706
    $event_permalink = $event->permalink;
    
    if ( is_object($event_permalink) ) {
    	$event_permalink = (string)$event_permalink;
    }
    
    $event->permalink = apply_filters( 'wpml_permalink', $event_permalink  );

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