Поддержка Проблемы и решения Не отображается caption во frontend

  • Здравствуйте.
    В админке caption вставлены так: [caption id="" align="aligncenter" width="625"]<img src="http://hostname.web/wp-content/uploads/2016/11/image_name.jpg" alt="Alt Name" width="625" /> Text Caption[/caption]

    В Visual я caption вижу. В ‘Image Details’ в поле ‘Caption’ тоже есть текст. Но во frontend выводится только фотография.
    Подскажите, пожалуйста, как быть.
    Заранее спасибо.

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • caption у вас как шорткод — кто его обрабатывает?

    кто его обрабатывает?

    wp и обрабатывает.

    Подскажите, пожалуйста, как быть.

    А нет ли где стиля с display: none?

    Контент я импортировал c помощью ‘Really Simple CSV Importer’. Если я вставлю изображение через Media Library и пропишу ‘caption’ — то всё отображается корректно.

    Самое первое приходит в голову вот что — рядом с картинкой и кэпшеном от Really Simple CSV Importer поставьте картинку из медиабиблиотеки. Сравните, чем отличается код.

    [caption id="" align="aligncenter" width="625"]<img src="http://site.web/wp-content/uploads/2016/11/filename.jpg" width="625" /> (Caption Text)[/caption]
    
    [caption id="attachment_12745" align="alignnone" width="249"]<img class="size-full wp-image-12745" src="http://site.web/wp-content/uploads/2016/11/download.jpg" alt="test-caption" width="249" height="202" /> test-caption[/caption]

    Спасибо за совет. Как я понимаю дело было в пустом id.
    Если я добавлю ко всем caption одно и тоже id — как думаете нормально будет?

    Не нормально. id на то и id, чтобы не повторяться в прелелах одного родительского блока. Иначе текст будет не валидным. Вместе с тем в кодексе про использование caption написано, что id является опциональным элементом. То есть его разрешено опускать вовсе. Но вот если уж он есть, то пустым быть не должен.

    Спасибо большое! Без id отображается корректно.
    Только вот как убрать сейчас id? Пробовал вот так в sql — UPDATE wp_posts SET post_content = REPLACE(post_content, '[caption id=""', '[caption'); — но не выходит. Id пропадает, но если переключиться на ‘Visual’ а затем снова на ‘Text’ в редакторе — то снова появляется.
    Если я убираю id ‘ручками’ и сохраняю — то все нормально.
    У меня таких записей около 1.500 — можно ли как-нибудь автоматизировать удаление ‘id’ у caption?

    Очевидно, при переключение во вкладку «Визуально», происходит проверка и если айди нет — происходит его добавление. Коли так, то через реплэйс надо его не убирать, а присвоить уникальные айдишники. Тогда при переключении в «Визуально в будущем все формальности будут соблюдены, айдишники там будут и новых пустых добавлять уже не будут. А вот что там замутить в цикле, чтобы задать уникальные айди — это надо подумать.

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Тема «Не отображается caption во frontend» закрыта для новых ответов.