Помогите вывести URL по ID фотки в галереи

Код выводит URL последней фотки из галереи поста с товаром WooCommerce.

$product_id = get_queried_object_id();
$product = new WC_product($product_id);
$attachment_ids = $product->get_gallery_image_ids();
foreach( $attachment_ids as $attachment_id )
  {
    echo $Original_image_url = wp_get_attachment_url( $attachment_id );
  }

Как задать, чтобы можно было вывести фотку по ID фотки в галереи? Например всего в галереи две фотки, а нужно вывести не последнюю, а первую? Благодарю за помощь!


Ответы (2 шт):

Автор решения: Oleksandr Ustymenko

Если вы хотите вывести фотку по ID (под ID я так понимаю, вы имеете ввиду идентификатор изображения, они идут в строку через запятую) Вы можете использовать этот простой код

обязательно в начале функции вставить эту строку: global $wpdb; Эта строка подключает базу данных Wordpress

<?php
global $wpdb;

$table_posts = $wpdb->prefix."posts"; // таблица базы данных постов (Здесь хранятся ссылки на изображения)

$id_picture = 100; // Идентификатор картинки, для примера поставил 100

$sql = $wpdb->get_results( "SELECT * FROM $table_posts where ID = '$id_picture'");
foreach($sql as $sql_new)
{
    $image_id = $sql_new->ID; // Идентификатор картинки
    $image_url = $sql_new->guid; // Ссылка (url) картинки              
}

?>

→ Ссылка
Автор решения: WP Punk

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

global $product;
$gallery = $product->get_gallery_image_ids(); // Получить все картинки из галлереи
$thumb   = $product->get_image_id(); // Получить изображение товара (главное)

Выводить предпочительнее с помощью ф-ции wp_get_attachment_image, но если вам нужно просто получить ссылку, то с помощью wp_get_attachment_image_url:

echo wp_get_attachment_image( $image_id, 'shop_catalog' ); // Вывести изображение
echo sprintf( '<img src="%">, wp_get_attachment_image_url( $image_id, 'shop_catalog' ) ); // Вывести изображение
→ Ссылка