Получение пути к эскизу вместо тега изображения
-
-
Являются ли ваши изображения частью галереи сообщений или просто включены в медиатеку?Are your images part of a post gallery or just included in the media library?
- 0
- 2010-12-01
- PNMG
-
Все прикреплены к сообщениям - это миниатюры сообщений.All are attached to posts - they are thumbnails to posts.
- 0
- 2010-12-01
- Sampson
-
4 ответ
- голосов
-
- 2010-12-01
Миниатюра - это по сути вложение,поэтому вы можете подойти с этой стороны - идентификатор поиска с помощью
get_post_thumbnail_id()
и получить данные с помощьюwp_get_attachment_image_src()
,вот так:if (has_post_thumbnail()) { $thumb = wp_get_attachment_image_src(get_post_thumbnail_id(), 'thumbnail_name'); echo $thumb[0]; // thumbnail url }
( источник )
Thumbnail is essentially attachment so you can approach from that side - lookup ID with
get_post_thumbnail_id()
and fetch data withwp_get_attachment_image_src()
, like this:if (has_post_thumbnail()) { $thumb = wp_get_attachment_image_src(get_post_thumbnail_id(), 'thumbnail_name'); echo $thumb[0]; // thumbnail url }
(source)
-
- 2016-12-21
get_the_post_thumbnail_url($recent['ID']);
Вышесказанное помогло мне!Мне пришлось угадывать функцию,и она волшебным образом сработала!
Стоит отметить,что я использовал в процессе цикл
get_recent_posts
.get_the_post_thumbnail_url($recent['ID']);
The above did the trick for me! I had to guess the function and it magically worked!
Its is good to mention that I used
get_recent_posts
loop in the process. -
- 2010-12-01
Один из способов - преобразовать все,что возвращается из
get_the_post_thumbnail()
,в объект и извлечь атрибутsrc
:$thumbnail = new SimpleXMLElement( get_the_post_thumbnail( $postid ) ); print $thumbnail->attributes()->src;
One method would be to convert whatever is returned from
get_the_post_thumbnail()
to an object, and pull thesrc
attribute:$thumbnail = new SimpleXMLElement( get_the_post_thumbnail( $postid ) ); print $thumbnail->attributes()->src;
-
- 2010-12-01
Когда мне нужно отобразить эскиз,прикрепленный к галерее сообщений,я использую настраиваемую функцию в файлеfunctions.php. Для ваших нужд это может быть лишнее,но должно охватывать все.
В этом примере я извлекаю все изображения из галереи сообщения,а затем отображаю каждое изображение в элементе списка. Список содержит миниатюру изображения,обернутую якорем,который ссылается на публикацию,из которой пришло изображение. Строку вывода можно легко настроить в соответствии с вашими потребностями.
function get_gallery_image_thumb_list($size){ global $post; $args = array( 'numberposts' => null, 'post_parent' => $post->ID, 'post_type' => 'attachment', 'nopaging' => false, 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID', 'post_status' => 'any' ); $attachments =& get_children($args); if ($attachments) { foreach($attachments as $attachment) { foreach($attachment as $attachment_key => $attachment_value) { $imageID = $attachment->ID; $imageTitle = $attachment->post_title; $imageCaption = $attachment->post_excerpt; $imageDescription = $attachment->post_content; $imageAlt = get_post_meta($imageID, '_wp_attachment_image_alt', true); $imageArray = wp_get_attachment_image_src($attachment_value, $size, false); $imageURI = $imageArray[0]; // 0 is the URI $imageWidth = $imageArray[1]; // 1 is the width $imageHeight = $imageArray[2]; // 2 is the height // Build the <img> string $ImgString = '<li><a href="' . get_permalink() . '" title="' . the_title("", "", false) . '"><img src="' . $imageURI . '" width="' . $imageWidth . '" height="' . $imageHeight . '" alt="' . $imageAlt . '" title="' . $imageTitle . '" /></a></li>'; // Print the image echo $ImgString; break; } } } unset($args);}
Затем вызовите функцию и передайте размер изображения,которое вы хотите вернуть (эскиз,средний,большой или полный),например:
get_gallery_image_thumb_list("thumbnail");
Это нужно будет вызвать в цикле или в пользовательском цикле.
When I need to display a thumbnail that is attached to a post gallery, I use a custom function in my functions.php. It might be over kill for your needs, but it should cover everything.
In this example, I retrieve all the images in a post's gallery, and then display each image in a list item. The list contains the thumbnail image wrapped in an anchor that links to the post the image came from. The output string can easily be customized to your needs.
function get_gallery_image_thumb_list($size){ global $post; $args = array( 'numberposts' => null, 'post_parent' => $post->ID, 'post_type' => 'attachment', 'nopaging' => false, 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID', 'post_status' => 'any' ); $attachments =& get_children($args); if ($attachments) { foreach($attachments as $attachment) { foreach($attachment as $attachment_key => $attachment_value) { $imageID = $attachment->ID; $imageTitle = $attachment->post_title; $imageCaption = $attachment->post_excerpt; $imageDescription = $attachment->post_content; $imageAlt = get_post_meta($imageID, '_wp_attachment_image_alt', true); $imageArray = wp_get_attachment_image_src($attachment_value, $size, false); $imageURI = $imageArray[0]; // 0 is the URI $imageWidth = $imageArray[1]; // 1 is the width $imageHeight = $imageArray[2]; // 2 is the height // Build the <img> string $ImgString = '<li><a href="' . get_permalink() . '" title="' . the_title("", "", false) . '"><img src="' . $imageURI . '" width="' . $imageWidth . '" height="' . $imageHeight . '" alt="' . $imageAlt . '" title="' . $imageTitle . '" /></a></li>'; // Print the image echo $ImgString; break; } } } unset($args);}
Then call the function and pass in the size of image you want returned (thumbnail, medium, large or full) like so:
get_gallery_image_thumb_list("thumbnail");
This will need to be called in The Loop or a custom loop.
Я вижу много методов отображения эскизов в WordPress,но я не сразу понимаю,как я могу получить только путь к эскизу сообщения,а не готовый HTML-код,сгенерированный такими функциями,как
the_post_thumbnail()
иget_the_post_thumbnail()
.Какие методы доступны мне для получения только пути к эскизу (чтобы установить его какbgimage),а не тега
<img />
?Могу ли я проанализировать результаты только методаget_
или есть более простой способ?