- Статус
- Решено
- Решено в
- 2.3.0
Обзор проблемы
Иногда Вы можете столкнуться со следующей фатальной ошибкой:
- Fatal error: Uncaught exception ‘InvalidArgumentException’ with message ‘Argument ID must be numeric and greater than 0’
Эта проблема связана с плагином WPML Media Translation. Она возникает, если у Вас есть изображение, у которого нет данных вложения и которое является просто абсолютной ссылкой на изображение.
Обходное решение
Эта проблема будет исправлена в будущем релизе. В качестве временного обходного решения Вы можете выполнить следующие действия.
- Измените файл class-wpml-media-image-translate.php, находящийся в папке ../wpml-media-translation/classes/images-translation/.
- Используйте следующий код для замены функции 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;
};
}