Intereting Posts
Обновите свой собственный плагин WordPress через собственный сервер Многопользовательская загрузка в параметры темы Предотвращение экранирования котировок при использовании запроса поиска и замены в базе данных Изображение автоматически изменено Лучший способ настроить «nav-menu-template.php» для добавления <input>, если «link_before» – «checkbox», Отключить API комментариев WordPress Виджеты отсутствуют после обновления 301 Перенаправление пользовательской иерархии URL-адресов в WordPress Поиск в содержимом короткого кода Трехэтапная форма заказа, как перейти к следующему шагу Как обрабатывать эту структуру URL. Продолжайте получать "страница не найдена" Как правильно изменить количество столбцов в двадцать четвертой детской теме? Разрешить незарегистрированным пользователям просматривать будущую запись после нажатия на список будущих сообщений the_tags без гиперссылок? Необходимо создать поиск, который будет искать только определенную категорию

Получение пользовательской ссылки на вложение

Я хотел связать изображения в галерее с пользовательским URL.

Я знаю, что могу добавить дополнительное поле и сделать это таким образом

Однако я нашел этот билет в Trac, который изменяет поле «URL-адрес ссылки» для приема пользовательских ссылок. Мне нравится, как это работает, и я хотел бы сделать эту работу.

Проблема в том, что я не могу понять, как получить доступ к данным. Я использую get_children для создания массива. URL-адрес ссылки не включен в результаты.

Я пробовал get_attachment_link – проблема в том, что он не просто извлекает ее из поля, а функция генерирует саму ссылку.

Есть идеи? Благодаря!

Solutions Collecting From Web of "Получение пользовательской ссылки на вложение"

На билет Trac, который вы связали внизу, есть решение, чтобы заставить его работать

function _save_attachment_url($post, $attachment) { if ( isset($attachment['url']) ) update_post_meta( $post['ID'], '_wp_attachment_url', esc_url_raw($attachment['url']) ); return $post; } add_filter('attachment_fields_to_save', '_save_attachment_url', 10, 2); function _replace_attachment_url($form_fields, $post) { if ( isset($form_fields['url']['html']) ) { $url = get_post_meta( $post->ID, '_wp_attachment_url', true ); if ( ! empty($url) ) $form_fields['url']['html'] = preg_replace( "/value='.*?'/", "value='$url'", $form_fields['url']['html'] ); } return $form_fields; } add_filter('attachment_fields_to_edit', '_replace_attachment_url', 10, 2); 

Поэтому после этого кода вы сможете добавить свои собственные ссылки в поле «URL-адрес ссылки».

И для его получения вам просто нужен идентификатор вложения, и вы можете получить его с помощью:

 get_post_meta( $post->ID, '_wp_attachment_url', true );