Статьи

Использование пользовательских размеров изображения в вашей теме и изменение размера существующих изображений

В этом уроке вы узнаете, как создавать изображения нестандартного размера для использования в вашей теме WordPress. Зачем использовать нестандартные размеры изображений? Таким образом, вам не придется редактировать каждое изображение, которое вы загружаете в медиа-библиотеку. Таким образом, каждое загруженное изображение будет автоматически генерировать все размеры, определенные пользователем. Это может быть вставлено в сообщение или страницу, используя Медиа-галерею или из цикла. Продолжайте читать, чтобы узнать как.


Чтобы ваша тема поддерживала нестандартные размеры изображений, вы должны отредактировать файл functions.php, который находится в вашей папке тем. Откройте файл functions.php вашей темы и проверьте, есть ли у вас строка, которая выглядит следующим образом:

1
add_action( ‘after_setup_theme’, ‘function_name’ );

Этот хук вызывается во время инициализации темы. Обычно он используется для выполнения основных действий по настройке, регистрации и инициализации темы, где «имя_функции» — это имя вызываемой функции.

Если вы нашли такую ​​строку, найдите также метод с тем же именем, что и у второго параметра этого метода add_action.

Если вы не можете найти строку, которая выглядит так, вы должны добавить ее, а также создать имена методов в качестве второго параметра:

1
2
3
4
add_action( ‘after_setup_theme’, ‘setup’ );
function setup() {
    // …
}

Теперь, чтобы включить миниатюры сообщений для вашей темы, добавьте следующие строки в метод, определенный выше:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
function setup() {
    // …
     
    add_theme_support( ‘post-thumbnails’ );
    // To enable only for posts:
    //add_theme_support( ‘post-thumbnails’, array( ‘post’ ) );
    // To enable only for posts and custom post types:
    //add_theme_support( ‘post-thumbnails’, array( ‘post’, ‘movie’ ) );
     
    // Register a new image size.
    // This means that WordPress will create a copy of the post image with the specified dimensions
    // when you upload a new image.
    // Adding custom image sizes (name, width, height, crop)
    add_image_size( ‘featured-image’, 620, 200, true );
     
    // …
}

Чтобы вставить изображение в публикацию или страницу из медиа-галереи, вставьте следующий фильтр в файл functions.php:

1
2
3
4
5
6
7
add_filter( ‘image_size_names_choose’, ‘custom_image_sizes_choose’ );
function custom_image_sizes_choose( $sizes ) {
    $custom_sizes = array(
        ‘featured-image’ => ‘Featured Image’
    );
    return array_merge( $sizes, $custom_sizes );
}

Что этот код делает, так это то, что он объединяет ваши собственные размеры изображения с тем, который определен в WordPress, так что результатом будет изображение ниже.

Медиа-галерея нестандартного размера изображения выбрать

Например, чтобы отобразить изображение с именем «featured-image», внутри цикла необходимо добавить следующие строки:

1
2
3
4
5
<?php
if ( has_post_thumbnail()):
    the_post_thumbnail( ‘featured-image’, array( ‘class’ => ‘featured-image’ ) );
endif;
?>

Это проверит, прикреплено ли к сообщению / странице какое-либо изображение, и выведет <img> показывающий изображение в желаемом размере.


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


Допустим, вы хотели бы использовать эту функцию в своей теме. В папке / wp-content / themes / name-of-the-theme откройте functions.php с вашим любимым текстовым редактором. Если в вашей теме не определено действие after_setup_theme , вы должны добавить его. Код для пользовательских размеров изображения будет добавлен в этот определенный метод.

Примечание: это зарезервированные имена размеров изображений: большой палец, миниатюра, средний, большой, пост-миниатюра . Добавление нестандартного размера изображения с зарезервированным именем переопределит его предопределенные значения.

01
02
03
04
05
06
07
08
09
10
11
add_action( ‘after_setup_theme’, ‘setup’ );
function setup() {
    // …
     
    add_theme_support( ‘post-thumbnails’ );
    add_image_size( ‘header’, 600, 200, true );
    add_image_size( ‘custom-size1’, 400, 200 );
    add_image_size( ‘custom-size2’, 400, 200, true );
     
    // …
}

Отредактировав файлы content.php или content-single.php или content-page.php , вы можете отобразить изображение с соответствующим размером заголовка сообщения, поместив его под заголовком сообщения или под ним.

1
2
3
4
5
6
7
<h1><?php the_title();
<?php
if ( has_post_thumbnail()):
    the_post_thumbnail( ‘header’ );
endif;
the_content();
?>

Чтобы сделать два других нестандартных размера по выбору из галереи мультимедиа, добавьте следующий фильтр:

1
2
3
4
5
6
7
8
add_filter( ‘image_size_names_choose’, ‘custom_image_sizes_choose’ );
function custom_image_sizes_choose( $sizes ) {
    $custom_sizes = array(
        ‘custom-size1’ => ‘My custom size 1’,
        ‘custom-size2’ => ‘My custom size 2’
    );
    return array_merge( $sizes, $custom_sizes );
}

Реальный пример того, как это работает и как это можно использовать: gurde.com



Как создать галерею с пользовательскими размерами изображений и добавить JavaScript для увеличения изображений и переключения между ними (мышь и клавиатура).