wp_get_attachment_image_src() — позволяет получить URL, ширину и высоту изображения

Функция возвращает нумерованный массив, содержащий атрибуты вложения: URL изображения (или URL иконки вложения), значения ширины и высоты.

  • [0] — URL,
  • [1] — ширина изображения в пикселях,
  • [2] — высота изображения в пикселях;
wp_get_attachment_image_src($attachment_id, $size='thumbnail', $icon = false)
$attachment_id
(целое число) ID вложения,
$size
(массив, строка) укажите, с каким из размеров данного изображения мы будем работать,
$icon
(логическое) нужно в тех случаях, когда ваше вложение не является изображением. Вообще, существует несколько возможных случаев с участием данного параметра. Итак, если вложение с указанным ID не является изображением:

  • а также параметр $icon не указан (или равен false), то функция wp_get_attachment_image_src() возвращает false
  • и параметр $icon равен true, то функция возвращает иконку, представляющую данный тип файла (а точнее массив, содержащий URL иконки, ее высоту и ширину), например для zip-архивов WordPress использует следующую иконку:
    Иконка для представления архивов в WordPress
  • параметр $size буде проигнорирован в любом из вышеперечисленных случаев.

Пример

$attachment_id = 5; // допустим у нас есть ID вложения, которое нужно вставить в подготовленный для него <img> тег
$attributes = wp_get_attachment_image_src( $attachment_id ); // возвращает массив
echo '<img src="' . $attributes[0] . '" width="' . $attributes[1] . '" height="' . $attributes[2] . '">';

Фильтр icon_dir

Позволяет изменить директорию, в которой WordPress будет искать иконки для типов файлов.

$icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/crystal' );

Второй параметр — это и есть пусть к папке с иконками. Путь по умолчанию: /wp-includes/images/crystal. Если вы укажете несуществующую директорию или в вашей директории не будет соответствующих иконок — ожидайте ошибок WP.

В качестве примера давайте разместим наши иконки в папке icons, которую в свою очередь мы расположим в папке с текущей темой. Для этого можно использовать следующий код:

add_filter( 'icon_dir', 'true_redefine_icon_dir' );
 
function true_redefine_icon_dir( $icon_dir ) {
	return get_stylesheet_directory() . '/icons';
}

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Владимир: и на третьей строке не хватает скобки ) закрывающей if :)

  • Миша: Добрый вечер! Рекомендую получить ID пользователя через функцию get_current_user_id().

  • Дмитрий: Миша, подскажите пожалуйста, я использую такой редирект, но он не срабатывает: add_action( 'template_redirect', funct...

  • Миша: Ну как не определена - это аргумент функции. Или я просто вас не до конца понимаю.

  • Артем: Ага, понял. Вот только почему $args? Она же нигде не определена, по логике должна быть переменная $true_field_params или...