Примечание. Это руководство покажет вам, как редактировать файлы Core WordPress, я не рекомендую это делать. Используйте его только в том случае, если знаете, что делаете. Руководство было написано очень давно, когда вы не могли определить пользовательские местоположения урожая, теперь вы можете установить местоположение урожая с помощью функции add_image_size, поэтому это руководство больше не применимо.
В последнее время при разработке тем я часто использую новую функцию миниатюр сообщений WordPress. Я отказался от более медленного, менее эффективного и дружественного к поисковой оптимизации метода использования сценария TimThumb для изменения размера изображений на сайтах, работающих на WordPress.
И хотя это отличная функция, встроенная в WordPress, у нее есть свои «недостатки», такие как отсутствие какого-либо параметра для определения места обрезки / положения изображения при изменении размера.
Место обрезки
На днях работая над своим сайтом, я заметил, что когда миниатюры тем WordPress обрезались, вся верхняя половина обрезалась, что не давало людям хорошего представления о том, как на самом деле будет выглядеть тема.
Ниже я нашел забавную картинку, показывающую вам еще одну причину, по которой вы можете захотеть выбрать разные места обрезки для своих изображений, а не всегда использовать обрезку по центру по умолчанию.
Изменение обрезки центра по умолчанию для миниатюр
К сожалению, чтобы изменить место обрезки эскизов, вам придется немного поработать руками с файлами Core WordPress. Просто следуйте инструкциям ниже, чтобы изменить место обрезки ваших миниатюр (это не изменит его для ВСЕХ миниатюр, определенных в вашем functions.php и настройках мультимедиа).
- Шаг 1. Перейдите в папку wp-includes.
- Шаг 2. Найдите и откройте файл media.php
- Шаг 3. Найдите следующий код (около строки 3.61 в WordPress 3.1.1)
$s_x = floor( ($orig_w - $crop_w) / 2 );
- Шаг 4. Отредактируйте код в соответствии с вашими потребностями (см. Объяснение ниже)
Изменение значений обрезки
Эти две линии, которые вы нашли, отвечают за обрезку ваших миниатюр. По умолчанию используется исходная ширина и высота и одинаковая обрезка по направлению к центру. Однако вы можете легко изменить его, чтобы обрезать вверху, слева, вверху слева и т.д.
Обрезка сверху
Чтобы обрезать сверху, вам просто нужно сделать значение y равным 0, поэтому измените вторую строку кода, чтобы она выглядела так:
$s_y = 0; // floor( ($orig_h - $crop_h) / 2 );
Обрезка по центру слева
Чтобы обрезать слева, вам нужно сделать значение x равным 0, поэтому измените первую строку кода, чтобы она выглядела следующим образом:
$s_x = 0; // floor( ($orig_w - $crop_w) / 2 );
Обрезать сверху слева
Объедините два последних образца, чтобы обрезать изображение сверху слева.
$s_y = 0; // floor( ($orig_h - $crop_h) / 2 );
Повторное создание миниатюр WordPress
Не забывайте, что если вы измените место обрезки миниатюр, вам придется заново обрезать их все. Вы можете легко сделать это с помощью любого из следующих двух плагинов: AJAX Thumbnail Rebuild или Regenerate Thumbnails.
Источник записи: https://www.wpexplorer.com