Wordpress генерирует странные ссылки для изображений - PullRequest
0 голосов
/ 07 апреля 2019

Hy. После загрузки изображения в Wordpress вместо «ссылка на проект / wp-content / uploads / 2019/04 / IMG_20171129_125745.jpg» отображается * какая-то странная ссылка "

Я заметил, что это показывает некоторую информацию из базы данных. Например, идентификатор, дата, размер и т. Д. Но не знаю, почему WordPress делает это.

Когда я проверяю источник, я получаю странную ссылку:

<a class="logo" href="http://localhost/project/"><img src="22, 22, IMG_20171129_125745, IMG_20171129_125745.jpg, 667317, http://localhost/project/wp-content/uploads/2019/04/IMG_20171129_125745.jpg, http://localhost/project/img_20171129_125745/, , 1, , , img_20171129_125745, inherit, 0, 2019-04-07 10:54:26, 2019-04-07 10:54:26, 0, image/jpeg, image, jpeg, http://localhost/project/wp-includes/images/media/default.png, 1700, 1000, Array" alt="logo"></a>

Вот код PHP

<a class = "logo" href="<?php echo get_home_url(); ?>/"><img src="<?php the_field('website_logo','options');  ?>" alt="logo" /></a>

Обратите внимание, я здесь использую расширенные настраиваемые поля.

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

Просто чтобы добавить к вашему ответу людей, у которых в будущем возникнут проблемы, проблема заключалась в том, что поле «Изображение ACF», которое вы вызывали, было установлено на объект изображения, и вы ожидали, что оно будет возвращать только URL. Есть два способа исправить это:

Вариант 1: отредактируйте поле изображения, чтобы оно возвращало только URL изображения

Плюсы

  • Легко и просто сделать, самое быстрое решение
  • Хорошо для встроенного фона css

Минусы

  • Невозможно контролировать размер возвращаемого изображения
  • Невозможно отобразить alt-тег изображения, который может повлиять на SEO

Вариант 2. Используйте правильный код изображения ACF для отображения того, что вы ищете

Лучшим способом отобразить изображение будет использование поля объекта «Изображение», так как оно обеспечивает гораздо лучший подход, поскольку у вас есть доступ ко всем атрибутам изображения, а не только к URL. Чтобы отобразить их, см. Ниже:

$image = get_field('website_logo','options');

<a class="logo" href="<?php echo get_home_url(); ?>/">
    <img src="<?php echo $image['url'];?>" alt="<?php echo $image['alt'];?>" />
</a>

Дополнительную информацию об использовании объекта изображения при использовании полей изображения ACF можно найти, нажав здесь .

Плюсы

  • Столь же легко и просто сделать
  • Позволяет использовать альт, размеры, заголовок, подпись и т. Д. Изображения
  • Позволяет использовать одно и то же изображение с легким перемещением вниз по коду без необходимости повторного ввода функции поля

Против

  • Не идеальное решение для встраивания фонового изображения CSS, вместо этого используйте URL-адрес изображения
0 голосов
/ 07 апреля 2019

* Исправлено

Мне просто нужно было использовать URL-адрес изображения в качестве возвращаемого значения, я случайно использовал массив для возвращаемого значения.Спасибо.

...