wp_get_attachment_image_src() WP 2.5.0

Отримує масив даних вказаного зображення: URL, ширина, висота зображення-вкладення.

Примітка: використовуйте перший (нульовий) елемент масиву для атрибута src.

Використовуйте wp_get_attachment_image_url() , коли потрібно отримати готову URL-адресу.

Працює на основі:
image_downsize()

Хуки з функції
[0] => url [1] => width [2] => height [3] => is_intermediate

Використання

$ src = wp_get_attachment_image_src ($attachment_id, $ size, $ icon);
$attachment_id
(число) (обов’язковий)
ID вкладення-картинки, дані якої потрібно отримати.
$size
(рядок/масив)

Розмір картинки, дані про яку потрібно отримати. У цьому параметрі можна вказувати передбачені WordPress розміри ( thumbnail, medium, largeабо full).

Також можна вказати розмір у масиві як двох елементів (ширина, висота): array(32,32). У цьому випадку буде підібрано найбільш відповідний розмір з наявних, потім картинка буде стиснута/розтягнута до вказаних розмірів. З версії 2.5. цей параметр не впливає на розмір медіа іконок (іконок для файлів), вони завжди відображаються в оригінальному розмірі.

За замовчуванням: ‘thumbnail’

$icon
(логічний)
Ставимо в true (1), щоб показувати медіа-іконки для вкладень не картинок (.zip, .rar і ​​т.д.)


За замовчуванням: false

Приклади

0

#1 Використання за замовчуванням

Виведемо html код картинки вкладення з ID = 8:

<?php $attachment_id = 8; // ID вкладення $image_attributes = wp_get_attachment_image_src($attachment_id); // повернувся масив array ?> <img src="<?php echo $image_attributes[0] ?>" width="<?php echo $image_attributes[1] ?>" height="<?php echo $image_attributes[2] ?>">
0

#2 Зміна директорії іконок

У WordPress для показу картинок вкладених файлів (не картинок) використовуються спеціальні іконки. За такий показ відповідає параметр $iconцієї функції. Так, для вкладень картинок виводиться мініатюра, а інших файлів виводиться відповідна його типу ікона. Наприклад, для .mp3 файлу буде показано зображення audio.jpg з папки: wp-includes/images/crystal/).

Цей приклад показує, як можна змінити розділ, звідки будуть братися такі медіа-іконки. Змінимо каталог за промовчанням на папку теми: wp-content/themes/yourtheme/images(зрозуміло в цю папку потрібно розмістити картинки для різних типів файлів).

add_filter('icon_dir', 'my_theme_icon_dyrectory'); function my_theme_icon_dyrectory($icon_dir) { return TEMPLATEPATH. '/images'; } add_filter('icon_dir_uri', 'my_theme_icon_uri'); function my_theme_icon_uri($icon_dir) { return get_bloginfo('stylesheet_directory').'/images'; }

Розміщувати цей код треба у файл теми functions.php

список змін

З версії 2.5.0Введено.

Код wp_get_attachment_image_src() WP 6.0.2

function wp_get_attachment_image_src( $attachment_id, $size = 'thumbnail', $icon = false ) { // Get a thumbnail or intermediate image if there is one. $ image = image_downsize ($ attachment_id, $ size); if ( ! $image ) { $ src = false; if ($icon) { $src = wp_mime_type_icon( $attachment_id ); if ($ src) { /** Цей filter is documented в wp-includes/post.php */ $icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/media' ); $src_file = $icon_dir. '/'. wp_basename($ src); list($width, $height) = wp_getimagesize($src_file); } } if ( $src && $width && $height ) { $ image = array ($ src, $ width, $ height, false); } } /** * Filters attachment image source result. * * @ Since 4.3.0 * * @param array|false $image { * Array of image data, або boolean false if no image is available. * * @type string $0 Image source URL. * @type int $1 Image width in pixels. * @type int $2 Image height in pixels. * @type bool $3 Whether the image is a resized image. * } * @param int $attachment_id Image attachment ID. * @param string|int[] $size Requested image size. Can be any registered image size name, or * an array of width and height values ​​in pixels (in that order). * @param bool $icon Whether the image should be treated as an icon. */ return apply_filters( 'wp_get_attachment_image_src', $image, $attachment_id, $size, $icon ); }