Intereting Posts
разрешить BOTH сообщение slug и значение мета-ключа в permalink для пользовательского типа сообщения Тестирование правил перезаписи с помощью PHPUnit Скрыть вкладку профиля Buddypress для посетителей, а не войти в систему. Загрузка следующих сообщений с AJAX, не работающим с пользовательским типом сообщения Ссылки Paginate_links не работают в соответствии с тем, как я запрашиваю страницу Ключ пользователя "20eleven_content_nav" больше не выводит навигационную ссылку после обновления 3.5 Как установить изображение с изображением (уменьшенное изображение) по URL-адресу изображения при использовании wp_insert_post ()? Улучшение производительности WP_Query для нескольких таксономий Добавление пользовательской таксономии в том же меню с двумя настраиваемыми типами сообщений Есть ли плагин, который позволит создать облако тегов из любого поля mysql? Недавнее отображение сообщений с использованием короткого кода Создание короткого кода на основе предпочтений пользователей Рекомендации для плагина LaTeX? Детский сайт не отображается в меню «Сеть» Изображения, вставленные в страницы, отображаются на дисплее: none

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

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

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

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

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

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

Я думаю, вы должны запустить пользовательский запрос 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; }