Я использую плагин дополнительных настраиваемых полей для загрузки изображений для галереи изображений. Я пытаюсь получить различные размеры изображений, которые сохраняются в папке uploads и имеют проблемы.
$ image = wp_get_attachment_image_src (get_sub_field ('image'), 'full');
Когда я повторяю результаты этого, я ничего не получаю. Я знаю, что изображения сохраняются как разные размеры, потому что я могу видеть их в папке uploads, а get_sub_field ('image') возвращает правильное изображение src.
Есть ли что-то еще, что мне нужно сделать, чтобы заставить это работать?
Что находится в get_sub_field ('image')? Параметр wp_get_attachment_image_src () должен быть идентификатором вложения, а не вложением src, если это то, что у вас есть.
Я использую следующую функцию для получения идентификатора вложения из URL-адреса изображения, насколько я знаю, WP не имеет метода для этого в настоящее время.
function get_attachment_id_from_src ($src) { global $wpdb; $reg = "/-[0-9]+x[0-9]+?.(jpg|jpeg|png|gif)$/i"; $src1 = preg_replace($reg,'',$src); if($src1 != $src){ $ext = pathinfo($src, PATHINFO_EXTENSION); $src = $src1 . '.' .$ext; } $query = "SELECT ID FROM {$wpdb->posts} WHERE guid='$src'"; $id = $wpdb->get_var($query); return $id;
}