Поиск URL страницы вложения / из URL изображения - PullRequest
0 голосов
/ 28 апреля 2019

Я использую приведенный ниже код, чтобы получить URL всех изображений, прикрепленных к сообщению.

global $post;

 $thumbnail_ID = get_post_thumbnail_id();

 $images = get_children( array('post_parent' => $post_id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID') );

 if ($images) :

     foreach ($images as $attachment_id => $image) :

         $img_alt = get_post_meta($attachment_id, '_wp_attachment_image_alt', true); //alt
         if ($img_alt == '') : $img_alt = $image->post_title; endif;

         $big_array = image_downsize( $image->ID, 'large' );
         $img_url = $big_array[0];
 endforeach; endif; }

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

https://www.example.com/wp-content/uploads/2019/01/image.gif

Мне нужно найти URL-адрес страницы вложения для этого изображения, который будет выглядеть примерно так https://www.example.com/post-name/image-22

Я попытался использовать wp_get_attachment_image, но вывод оказался не тем, что мне было нужно.

есть идеи, как мне это сделать?

1 Ответ

0 голосов
/ 28 апреля 2019

Вы ищете get_attachment_link для возврата симпатичной ссылки, которая вам нужна, чтобы убедиться, что в вашей структуре постоянных ссылок заданы симпатичные ссылки.

https://codex.wordpress.org/Function_Reference/get_attachment_link

Пример со страницы:

<?php 
$attachment_id = 1; // ID of attachment
$attachment_page = get_attachment_link( $attachment_id ); 
?>
<a href="<?php echo $attachment_page; ?>"><?php echo get_the_title( $attachment_id ); ?></a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...