Intereting Posts
Как интегрировать кнопку Facebook Share без кода? Миниатюра Изображение, чтобы пойти в сообщении, а также Пользовательский запрос показывает пользовательские типы сообщений в корзине Запросить сообщения, выполнив поиск строки в мета-поле Как перегрузить виджеты update () существующих? get_comment_author_link не работает должным образом Как отображать контент только для разрешенного IP-адреса 'wp_get_nav_menu_items', когда он запущен внутри крюка wp_update_nav_menu, возвращает старые пункты меню вместо новых Получение предупреждений и уведомлений от Fresh WordPress 3.1.2 Посещение веб-страницы ТОЛЬКО после посещения другой страницы. Возможное? Регистрация электронной почты с помощью AJAX Форматирование комментариев с комментарием Как перенаправить действие = зарегистрировать ссылку на странице с потерянным паролем на другую ссылку? Должен использовать плагины автозагрузчика: как правильно использовать get_plugins ()? Руководства / ограничения по рекламе / пожертвованию попрошайничество без плагинов WordPress или тем

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

Я хотел связать изображения в галерее с пользовательским 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 );