WPML

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

Недавнее обновление до BuddyPress 12.4.1 вызвало проблему совместимости с WPML, в частности, при обработке описаний групп. Это изменение привело к фатальной ошибке при вызове фильтра BuddyPress bp_get_group_description_excerpt, поскольку теперь в нем отсутствует необходимый второй аргумент, который ожидался ранее:

[06-May-2024 15:51:02 UTC] PHP Fatal error:  Uncaught ArgumentCountError: Too few arguments to function WPML\\BuddyPress\\Groups::translateExcerpt(), 1 passed in ..../wp-includes/class-wp-hook.php on line 324 and exactly 2 expected in .../wp-content/plugins/buddypress-multilingual/includes/class.groups.php:84

Об этой проблеме уже сообщили (открывается в новой вкладке) команде BuddyPress.

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

Эта проблема решена. Обновление до последней версии решает эту проблему на Вашем сайте, поэтому это обходное решение потребуется Вам только в том случае, если Вы пока не можете выполнить обновление.

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

  • Откройте файл …/wp-content/plugins/buddypress-multilingual/includes/class.groups.php.
  • Найдите строку 84.
  • Замените:
    public function translateExcerpt( $excerpt, $group ) {
    	$getTranslation = $this->translate( 'description' );
    
    	return bp_create_excerpt( $getTranslation( $excerpt, $group ), strlen( $excerpt ) );
    }
  • На:
    public function translateExcerpt( $excerpt, $group = null ) {
    	if( is_null($group ) ){
    			return $excerpt;
    	}
    
    	$getTranslation = $this->translate( 'description' );
    
    	return bp_create_excerpt( $getTranslation( $excerpt, $group ), strlen( $excerpt ) );
    }

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

Всё ещё сталкиваетесь с этой проблемой?

Если обновление не устраняет проблему, отправьте запрос в поддержку, и мы разберемся в ней вместе с Вами.