Разрешение настраиваемых размеров изображений с помощью шорткода галереи WordPress

В WordPress 2.5 и выше есть встроенная функция галереи, которая позволяет добавлять галерею изображений в сообщение или страницу в вашем блоге WordPress. (Ссылка: http://codex.wordpress.org/Gallery_Shortcode)

Вы можете использовать параметр size, чтобы указать размер эскиза, который вы хотите отображать. Допустимые значения: «эскиз», «средний», «большой» и «полный». По умолчанию это «эскиз». Размер изображений для «миниатюр», «среднего» и «большого» можно настроить в панели администратора WordPress.

ie. [gallery size="medium"]

Мой вопрос: я пытаюсь взломать шорткод [галерея], чтобы разрешить нестандартные размеры во время ввода - не пытаясь сделать это через панель администратора. Я бы хотел использовать что-то вроде [gallery size="145x160"].

Вместо того, чтобы загружать раздутый плагин, я предпочитаю работать с тем, что уже есть, и я не уверен, куда мне нужно перейти в своей файловой структуре, чтобы внести изменения. Я знаком с PHP, но боюсь, что внесу изменения, а затем, когда я обновлю будущие версии WP, он перезапишет то, что я начал.
Может ли кто-нибудь помочь мне с это?

Большое спасибо!


person Mike B.    schedule 25.08.2010    source источник
comment
Это первый раз, когда я использую Stack через 4 или 5 лет, и я вижу, что кто-то, кого я знаю, задает вопрос; Балтиморская техника! О, у кого-нибудь были проблемы с работой [размер галереи = средний]? Один раз это сработало, а затем я обновил страницу, и размер носителя изображений больше не определялся. Теперь, когда я добавляю его обратно, он просто игнорирует его?   -  person chaser7016    schedule 21.02.2013


Ответы (2)


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

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

В файле functions.php вашей темы добавьте следующие строки кода:

remove_shortcode('gallery');
add_shortcode('gallery', 'custom_size_gallery');

function custom_size_gallery($attr) {
    // Change size here - medium, large, full
    $attr['size'] = 'medium';
    return gallery_shortcode($attr);
}

Это прервет обычный вызов галереи, изменит используемый размер, а затем вызовет встроенную галерею WordPress.

person random_user_name    schedule 12.04.2013
comment
Вы также можете установить $attr['size'] на любой размер, созданный с помощью add_image_size(); - person Dirk Diggler; 21.09.2013

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

add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode

Подробнее о add_image_size () в Codex

person prium    schedule 25.12.2012