никакого ввода в заблуждение (код выше поправил — смотреть ниже)
поясню — такой метод уже используется , буду и я вводить
1- код используется в image.php
2 — есть картинки png jpg
3 — возьмем пример картинку в 1 мегабайт
и в 1500х1500 пикселей , формат не важен — далее сработает плагин
4 — если картинка более 1500, будет создана миниатюра large с 50 % качества , а если картинка меньше 1500 то мы сохраним оригинал и создадим точную копию в размерах , но сжата картинка будет по качеству в 50% и ее мы принудительно запишем в размеры под названием as_original
5 — старые картинки нельзя перегенерировать
6 — у пользователя есть доступ к оригиналам
7 — сжатые дубли впереди индекса гугла и яндекса
8 — в зависимости от оригинала , будет показано либо large либо as_original, ну и на всякий пожарный если не то ни другое то покажем оригинал.
Вообще код можно сделать в 2 условия, но это потом буду решать.
вместо «echo» буду вызывать url картинки.
плагин частично завершен, но полностью работоспособен — отлавливаю баги.
Смысл тоже думаю понятен.
Сначала вообще не было решения, теперь появилось 2 — думаю спрошу у экспертов
какой способ менее затратный.
$attachment = get_post();
if( $image = image_get_intermediate_size( $attachment->ID, 'large' ) ){
echo wp_get_attachment_image_url( $id, 'large' );
}elseif($image = image_get_intermediate_size( $attachment->ID, 'as_original' )){
echo wp_get_attachment_image_url( $id, 'as_original' );
}else{
echo wp_get_attachment_image_url( $id, 'full' );
}
или
$meta = wp_get_attachment_metadata( $attachment->ID );
if ( isset( $meta['sizes']['large'] ) ){
echo wp_get_attachment_image_url( $id, 'large' );
}elseif( isset( $meta['sizes']['as_original'] ) ){
echo wp_get_attachment_image_url( $id, 'as_original' );
}else{
echo wp_get_attachment_image_url( $id, 'full' );
}
вообще, что в первом, что во втором случае код можно сократить , так как если функция не найдет нужный размер, будет показан тот что стоит в базе данных по умолчанию? на всякий пожарный сделаю на 3 условия (это просто к слову)
if ( isset( $meta['sizes']['large'] ) ){
echo wp_get_attachment_image_url( $id, 'large' );
}else{
echo wp_get_attachment_image_url( $id, 'as_original' );
}
-
Ответ изменён 6 лет, 8 месяцев назад пользователем kolshix.
-
Ответ изменён 6 лет, 8 месяцев назад пользователем kolshix.
-
Ответ изменён 6 лет, 8 месяцев назад пользователем kolshix.
-
Ответ изменён 6 лет, 8 месяцев назад пользователем kolshix.
-
Ответ изменён 6 лет, 8 месяцев назад пользователем kolshix.