WPML
Статус
Решено
Решено в
2.3.0

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

Иногда Вы можете столкнуться со следующей фатальной ошибкой:

  • Fatal error: Uncaught exception ‘InvalidArgumentException’ with message ‘Argument ID must be numeric and greater than 0’

Эта проблема связана с плагином WPML Media Translation. Она возникает, если у Вас есть изображение, у которого нет данных вложения и которое является просто абсолютной ссылкой на изображение.

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

Эта проблема будет исправлена в будущем релизе. В качестве временного обходного решения Вы можете выполнить следующие действия.


  1. Измените файл class-wpml-media-image-translate.php, находящийся в папке ../wpml-media-translation/classes/images-translation/.

  2. Используйте следующий код для замены функции get_translated_image_by_url.
public function get_translated_image_by_url( $img_src, $source_language, $target_language ){

$attachment_id = $this->get_attachment_image_from_guid($img_src, $source_language);
if (!$attachment_id) {
$attachment_id = $this->get_attachment_image_from_meta($img_src, $source_language);
}
if ($attachment_id){
$size = $this->get_image_size_from_url($img_src, $attachment_id);

return $this->get_translated_image($attachment_id, $target_language, $size);
} else {
return $img_src;
};
}

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