WordPress как на ладони
wordpress jino

Подписи к картинкам

Через CSS (style.css) реализовал автонумерацию изображений в записи. Проблема в том, что нумеруются только те изображения, которые имеют текст в описании (caption). Если поле пустое, то номер не ставится, а пропускается.

Каким образом при выводе изображения в записи автоматом задавать ему какой-то caption, если он пустой?

Была мысль ещё при загрузке в медиа-библиотеку просто ставить пробелы всем картинкам, которые не требуют текста, но пробел не сохраняется.

-1
Гость 2.5 года назад
  • 0
    campusboy1950 cайт: www.youtube.com/c/wpplus

    Хотя бы код привели, чтобы было на что ориентироваться. Значит у вас привязка нумерации идет к caption, а надо к img.

    Гость 2.5 года назад

    Код такой:

    .wp-caption-text {
    	counter-increment: TheCounter;
    .wp-caption-text:before {
    	content: '' counter(TheCounter) '. ';

    В общем уже решил вопрос так:
    в функции image_add_caption в \wp-admin\includes\media.php:

    ...
    	if ( empty($caption) || apply_filters( 'disable_captions', '' ) )
    	удалил return $html;
    	добавил $caption = '...';
    kaliyan 2.5 года назад

    Зачем править файлы движка? При обновлении движка, полетит вся ваша логика. Чуть выше ведь есть фильтр (строка 175 последней версии) http://my.jetscreenshot.com/11773/20150603-6wgs-71kb.jpg, с помощью которой можно управлять этим самым $caption.

    Есть причина почему нумерация произведена с помощью CSS? Что мешает использовать JS?

    Гость 2.5 года назад

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

    Kama 2.5 года назад

    Так вам нужно всего-то добавитьв functions.php темы такой код:

    add_filters('disable_captions', function(){ return false; } )

    Или как-то так...

    Гость 2.5 года назад

    Попробую, спасибо smile

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.