Пользовательские размеры изображений в WordPress относительно просты в настройке, особенно в версии WordPress 3.3, и они приносят значительные преимущества при экономии времени. Вместо редактирования размера изображения и загрузки вы можете позволить WordPress позаботиться о генерации размера изображения.
Содержание
Определите пользовательские размеры изображения
Первое, что нам нужно сделать, это сообщить WordPress, что мы хотим использовать нестандартные размеры изображений. Посмотрите на приведенный ниже код и проверьте, есть ли он в файле function.php вашей текущей темы. Если нет, продолжайте и добавьте его.
<?php
if ( function_exists( 'add_theme_support' ) ){
add_theme_support( 'post-thumbnails' ); //add thumbnails
set_post_thumbnail_size( 220, 9999 ); // set default thumbnails
}
if ( function_exists('add_image_size') ){
add_image_size( 'homepage-image', 423, 268, true ); // custom homepage featured image
?>
Приведенный выше код проверяет, существует ли основная функция WordPress add_theme_support и существует ли, чтобы добавить возможность использовать миниатюры сообщений и установить глобальный размер миниатюр сообщений по умолчанию.
После того, как мы добавим поддержку темы для миниатюр и включим размер миниатюр публикации по умолчанию, нам нужно добавить пользовательские размеры изображений, которые мы хотим использовать. Для этого мы проверяем, существует ли основная функция WordPress add_image_size и добавляет ли она размер изображения. Первый параметр – это имя, присвоенное пользовательскому размеру изображения, в данном случае мы используем изображение домашней страницы. Второй и третий параметры – это ширина и высота (в пикселях) соответственно. Последний – это логический параметр, который мягко обрезает (false) или жестко (true) пользовательское изображение.
Вставьте произвольный размер изображения в медиа-галерею WordPress 3.3+
Я управляю несколькими крупными установками WordPress Multisite с сотнями пользователей, и я хочу убедиться, что они вставляют изображения правильного размера. Самый простой способ сделать это – дать им возможность выбрать нужный размер изображения. Выпуск WordPress 3.3 значительно упростил добавление пользовательских размеров изображений в галерею мультимедиа по сравнению с тем, как это было раньше. Теперь мы можем использовать фильтр image_size_names_choose.
<?php
add_filter( 'image_size_names_choose', 'jss_custom_image_sizes' );
function jss_custom_image_sizes( $sizes ){
$custom_sizes = array(
'homepage-image' => 'Homepage Image(s)'
);
return array_merge( $sizes, $custom_sizes );
}
?>
Вставьте произвольный размер изображения в старую медиа-галерею WordPress
Приведенный ниже код делает то же самое в старых версиях WordPress (до 3.3), но он значительно длиннее и хакерский.
<?php
add_filter('attachment_fields_to_edit', 'my_attachment_fields_to_edit_filter', 100, 2);
function my_attachment_fields_to_edit_filter($form_fields, $post) {
if (!array_key_exists('image-size', $form_fields)) return $form_fields;
global $_wp_additional_image_sizes;
foreach($_wp_additional_image_sizes as $size => $properties) {
if ($size == 'post-thumbnail') continue;
$label = ucwords(str_replace('-', ' ', $size));
$cssID = "image-size-{$size}-{$post->ID}";
$downsize = image_downsize($post->ID, $size);
$enabled = $downsize[3];
$html = '<input type="radio" ' . disabled($enabled, false, false) . 'name="attachments[' . $post->ID. '][image-size]" id="' . $cssID . '" value="' . $size .'">';
$html .= '<label for="'. $cssID . '">' . $label . '</label>';
if ($enabled) $html .= ' <label for="' . $cssID . '" class="help">(' . $downsize[1] . ' × ' . $downsize[2] . ')</label>';
$form_fields['image-size']['html'] .= '<div class="image-size-item">' . $html . '</div>';
}
return $form_fields;
}
?>





