Изменение стандартной галереи WordPress

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

Итак, что мы видим при создании новой галереи в WordPress:

стандартная галлерея ВордпрессВручную надо менять:

  • Ссылка  - На медиафайл (обязательно)
  • Колонки - 3 (по желанию)
  • Размер - Миниатюра (по желанию)

Зачем нам надо ставить ссылку на медиафайл? А для того чтобы работали плагины типа Lightbox и картинка красиво увеличивалась по клику. Но постоянно менять эти параметры муторно. Есть выход!

Вариант 1. Массовое редактирование шорткода [gallery ]

Кто не в курсе - при вставке галереи вставляется шорткод [gallery] с параметрами. Например [gallery columns="5"] - 5 колонок, [gallery link="file" order="DESC" columns="4"] - ссылка на файл, порядок сортировки обратный, 4 колонки.

Чтобы массово отредактировать уже созданные 50-100 галерей устанавливаем плагин Search & Replace и в контенте заменяем [gallery на [gallery link="file" и вуаля! Теперь все галереи будут работать правильно.

Но как настроить, чтобы по-умолчанию создаваемая галерея уже была со свойством "Ссылка на медиафайл"?

Вариант 2. Правим файлы WordPress

Вот тут уже надо быть предельно осторожным и естественно делать бэкап.

Поведение шорткода галереи задаётся в файле wp-includes/media.php. Скачиваем его по FTP и ищем примерно такой фрагмент кода:

$atts = shortcode_atts( array(
		'order'      => 'ASC',
		'orderby'    => 'menu_order ID',
		'id'         => $post ? $post->ID : 0,
		'itemtag'    => $html5 ? 'figure'     : 'dl',
		'icontag'    => $html5 ? 'div'        : 'dt',
		'captiontag' => $html5 ? 'figcaption' : 'dd',
		'columns'    => 3,
		'size'       => 'thumbnail',
		'include'    => '',
		'exclude'    => '',
		'link'       => ''
	), $attr, 'gallery' );

Вот здесь пустой параметр 'link' и задаёт будущее поведение галереи. Смело редактируем 'link'       => 'file' и теперь любая галерея, даже та в которой нет в шорткоде параметра link="file" будет вести себя как надо.

По аналогии можно поиграться с другими свойствами.

5 thoughts on “Изменение стандартной галереи WordPress”

  1. Volcha

    Привет, помогите разобраться:
    стандартная галерея wp, картинки «горизонтальные», а мне надо «вертикальные» — в настройки — медиафайл — меняю размеры, но ничего не происходит: горизонт и расстояние между картинками пикселей 30, выставляю 5 колонок — все равно 4 максимум.
    можно ли сделать так:
    1. отображение картинок вертикальное
    2. при создании галереи в статье, чтобы на сайте происходил автоподгон картинок по размеру (т.е. исходная картинка, напр., 700х1000, в галерее я ставлю 2 колонки, размер «среднее» и WP мне ставит в статье картинки нужного размера автоматически, а если я добавлю в эту галерею третью картинку — он автоматом подгонит размер картинок под 3 колонки, а при нажатии на картинку выдает полный размер)
    Может есть какой-то плагин. Буду весьма благодарна!

    1. Editor Post Author

      К сожалению такая проблема есть. И появилась она после какого-то недавнего обновления WordPress. Я так и не смог её решить.

    2. Editor Post Author

      Насчёт решенеи вопроса, я бы начал с изменения стилей CSS. А если нет, то тогда нужно делать фильтр и менять дефолтные свойства галереи, типа add_filter(‘post_gallery’, ‘my_gallery_function’, 10, 2); Но это уже надо к программисту.

Leave a Reply

Your email address will not be published. Required fields are marked *