#php #wordpress #twig #custom-wordpress-pages #timber
Вопрос:
Итак, у меня возникла twig/timber
проблема, из-за которой мне трудно получить набор изображений, вот что у меня есть до сих пор:
{% set defaultimg = site.theme.link ~ '/images/placeimage.png' %}
а потом в моем коде у меня есть:
<img src="{{ post.thumbnail.src | default(defaultimg) | resize(360, 240)}}" class="card-img-top">
post.thumbnail.src извлекает изображения просто отлично, но если к сообщению не прикреплен Img, я хочу defaultimg
, чтобы изображение было извлечено из папки изображений пользовательских тем. Но в настоящее время это выводит действительно ошибочный URL-адрес:
<img src="https://toolcart.local/wp-contentC:UsersUserLocal Sitestoolcartapppublicwp-contentthemestoolcart-themeimages/placeimage-360x240-c-default.png" class="card-img-top">
Однако a {{defaultimg}}
правильно выводит URL-адрес изображения.
https://toolcart.local/wp-content/themes/toolcart-theme/images/placeimage.png
Я не уверен, что делать дальше?
Ответ №1:
Это проблема с twig/timber
тем, как определяются пути!!! Странный способ делать вещи, который добавляет ненужную сложность проекту.
При этом, согласно их документации, вы можете добавить фильтр, вызываемый relative
в конце вашей defaultimg
переменной, который преобразует абсолютный URL-адрес в относительный, который в конечном итоге выводит правильный путь к вашему изображению по умолчанию.
Таким образом, ваш код будет примерно таким:
- Определение пути к изображению по умолчанию:
{% set defaultimg = Image(site.theme.link ~ '/images/placeimage.png') | relative %}
записка:
| relative
Фильтр здесь сделает свое дело.
- Вызов его в атрибуте источника изображения:
<img src="{{ post.thumbnail.src | default(defaultimg) | resize(360, 240)}}" class="card-img-top">
Я только что протестировал код, и он отлично работал! Дай мне знать, сможешь ли ты заставить его тоже работать!
Комментарии:
1. Я хочу поблагодарить вас за то, что нашли время объяснить мне это. У меня действительно есть следующий вопрос: Кажется, что иногда
| resize(360, 240)
просто полностью перепутывает URL-адрес изображения по умолчанию, например, как в этом примере: ImageLink у вас случайно не возникнет каких-либо мыслей о том, почему это произойдет?2. Нет проблем! С удовольствием помогу! Убедитесь, что используете код, который я вам предоставил. Код, который я предоставил, отлично работает с моей стороны. Вот снимок экрана . И
featured image
то иcustom placeholder image
другое и отлично работает!