Предлагая изображения определенного размера для загрузки (сайт обоев)

На самом деле я работаю в блоге обоев и хочу предоставить возможность загружать изображения с разными размерами обоев, которые содержатся в библиотеке мультимедиа.

До сих пор я делал следующие вещи:

  • создание детской темы
  • добавление некоторых дополнительных размеров изображения обоев в functions.php
  • установка плагина «Ручная обработка изображений», который позволяет мне обрезать все доступные размеры изображений по отдельности (ссылка на плагин: https://de.wordpress.org/plugins/manual-image-crop/)
  • включите фоновые рисунки в посты и выбрав «ссылка на файл вложения»
  • добавив файл attachment.php со стилем в мою дочернюю тему.
  • добавив следующий код в файл attachment.php, который я нашел на этом сайте: https://premium.wpmudev.org/blog/advanced-attachment-page/

    <p class='resolutions'> Downloads:
    <?php
    $images = array();
    $image_sizes = get_intermediate_image_sizes();
    array_unshift( $image_sizes, 'full' );
    foreach( $image_sizes as $image_size ) {
    $image = wp_get_attachment_image_src( get_the_ID(), $image_size );
    $name = $image_size . ' (' . $image[1] . 'x' . $image[2] . ')';
    $images[] = '<a href="' . $image[0] . '">' . $name . '</a>';
    }
    
    echo implode( ' | ', $images );
    ?>
    </p>
    

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

Я хотел бы исключить некоторые размеры изображений, такие как «миниатюра», «средний», «большой» и некоторые дополнительные размеры, которые я использовал для стилизации в рамках темы.

Кто-нибудь знает, как исключить эти размеры или наоборот, чтобы выбрать только те размеры, которые необходимы для загрузки?

Заранее спасибо за любую идею, которая может решить эту проблему

1

Решение

Вы можете использовать эту функцию WordPress для объявления новых размеров изображений:
https://developer.wordpress.org/reference/functions/add_image_size/

Пример:

add_image_size (‘large’, 1200, 600);
add_image_size (‘superlarge’, 2400, 1200);

Тогда вы можете использовать любой из размеров тезисов, используя:
https://codex.wordpress.org/Function_Reference/the_post_thumbnail

the_post_thumbnail (‘superlarge’);

Чтобы восстановить все ваши эскизы, используйте плагин Regenerate Thumbnails.

0

Другие решения

Я нашел решение сам. Чтобы выбрать только определенные размеры изображения, они должны быть указаны в массиве image_sizes следующим образом:

<?php the_content(); ?>

<p class='resolutions'> Downloads:
<?php
$images = array();
$image_sizes = array ('image1', 'image5', 'image9');
foreach( $image_sizes as $image_size ) {
$image = wp_get_attachment_image_src( get_the_ID(), $image_size );
$name = $image_size . ' (' . $image[1] . 'x' . $image[2] . ')';
$images[] = '<a href="' . $image[0] . '">' . $name . '</a>';
}

echo implode( ' | ', $images );
?>
0

По вопросам рекламы [email protected]