DomenForum.net

DomenForum.net (https://domenforum.net/index.php)
-   Программирование (https://domenforum.net/forumdisplay.php?f=26)
-   -   WP: Вывести миниатюру изображения (https://domenforum.net/showthread.php?t=221418)

Port_Artur 06.08.2019 13:57

WP: Вывести миниатюру изображения
 
Для замены кода стандартного вывода галереи изображений в functions.php добавляется вот такой код:

Код HTML:

add_filter('post_gallery', 'my_gallery_output', 10, 2);
function my_gallery_output( $output, $attr ){
        $ids_arr = explode(',', $attr['ids']);
        $ids_arr = array_map('trim', $ids_arr );

        $pictures = get_posts( array(
                'posts_per_page' => -1,
                'post__in'      => $ids_arr,
                'post_type'      => 'attachment',
                'orderby'        => 'post__in',
        ) );

        if( ! $pictures ) return 'Запрос вернул пустой результат.';

        // Вывод
        $out = '<div class="popup-gallery">';

        // Выводим каждую картинку из галереи
        foreach( $pictures as $pic ){
                $src = $pic->guid;
                $t = esc_attr( $pic->post_title );
                $title = ( $t && false === strpos($src, $t)  ) ? $t : '';

                $caption = ( $pic->post_excerpt != '' ? $pic->post_excerpt : $title );

                $out .= '<div class="phototech">                       
                <a href="'.esc_url($src).'" title="'.$title.'"><img src="'.$src.'" alt="'. $title .'"  /></a>
                </div>';

        }

        $out .= '</div>';

        return $out;
}



При загрузке изображений создаются миниатюры следующих размеров

https://a.radikal.ru/a24/1908/24/c5df9fee3634.jpg

Как в строке

<a href="'.esc_url($src).'" title="'.$title.'"><img src="'.$src.'" alt="'. $title .'" /></a>

в качестве изображения вывести миниатюру среднего размера (640х480) или самую маленькую (300х225)?




Помогите пожалуйста!!!

добавлено через 4 часа 13 минут
Решение:

Код HTML:

$imagemini = wp_get_attachment_image_url($pic->ID, 'thumbnail');
                ...
                <a href="'.esc_url($src).'" title="'.$title.'"><img src="'.$imagemini.'" alt="'. $title .'"  /></a>


wenjaren 23.08.2019 13:09

$thumbnail_attributes = wp_get_attachment_image_src( get_post_thumbnail_id(), 'medium' ); // возвращает массив параметров миниатюры
echo $thumbnail_attributes[0]; // URL миниатюры

'small' , 'large'.

Вроде как-то так, если память не изменяет, быстро через поиск нашел.

добавлено через 7 минут
get_the_post_thumbnail( $id, 'thumbnail' ); // маленькая миниатюра
get_the_post_thumbnail( $id, 'medium' ); // среднего размера
get_the_post_thumbnail( $id, 'large' ); // большого размера

get_the_post_thumbnail( $id, array(100,100) ); // произвольный размер

Размеры для картинок в WordPress обозначаются условно:

thumbnail - маленькая миниатюра;
medium - средняя;
large - большая;
full - оригинал, картинка которую мы загружали.


Текущее время: 05:09. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Техническая поддержка — DevArt.PRO. Перевод: zCarot.