Intereting Posts
Оптимизация медленного SQL-запроса для нескольких метаданных изображения пользовательского поля не отображаются до тех пор, пока не будет сохранено сохранение страницы Как изменить новую встроенную панель инструментов WordPress 4.5 Загрузить каталог Как изменить текст: Нажмите «Название события» для описания / регистрации Вложение фрагментов кода в сообщениях с отступом Неожиданный вывод: register_activation_hook с пространством имен Поверните get_posts как строку в массив для использования в параметрах темы admin Стрелка меню для дочернего элемента Как показать отдельную запись на первой странице, но иметь обычный пейджинг? Проверьте, не вошли ли пользователи во время выполнения обновления Как заменить значок по умолчанию на кнопке «Добавить медиа»? WordPress Menu – создание поддельной ссылки Все сетевые сайты отображаются в качестве основного блога как извлечь имя пользователя wordpress?

Получить загруженный URL-адрес изображения

Я работаю над плагином, который создает информационный бюллетень, который использует шаблон с несколькими изображениями.

Изображения загружены с использованием медиа-библиотеки ( uploads/current_year/current_month/ ), и я хочу получить URL-адрес изображений, используя имя изображения.

Любой способ сделать это без повторения всех изображений?

Я попытался сохранить изображения в папке плагина, но веб-сайт использует https, и это местоположение недоступно без аутентификации.

Любые предложения по разному расположению для хранения изображений?

Solutions Collecting From Web of "Получить загруженный URL-адрес изображения"

Я думаю, вы должны запустить пользовательский запрос mySQL в таблицу wp_posts, что-то вроде –

 SELECT ID FROM `wp_posts` where guid like '%filename.jpg'; 

(конечно, используйте объект $ wpdb для запроса базы данных). Затем у вас будет postid этого файла вложения, и вы можете использовать wp_get_attachment_url () из WP API.

wp_upload_dir() отлично. Это единственное место, где вы можете ожидать разрешения на запись.

Сохраните идентификатор вложения, а не путь. Затем вы получите изображение с помощью:

 wp_get_attachment_url( $attach_id ) 

Иногда пользователь может удалить изображение на медиа-библиотеку. Чтобы избежать проблем с отсутствующими файлами, сначала проверьте возвращаемое значение из wp_get_attachment_url() . Выдержка из одного из моих плагинов:

 /** * Returns image markup. * Empty string if there is no image. * * @param int $attach_id * @return string */ protected function get_image_tag( $attach_id ) { $img_url = (string) wp_get_attachment_url( $attach_id ); if ( '' == $img_url ) { return ''; } $img = "<img src='$img_url' alt='' width='$this->width' height='$this->height'>"; return $img; }