Поддержка Проблемы и решения Получить динамический URL картинки галереи

  • Добрый день. Есть нестандартная задача, нужно вставить переменную с динамической ссылкой на изображение в CSS правило background-image: url().
    Источник изображения — первая фотография в галереи поста. Постов много.

    Нужно что-то похожее на функцию get_the_post_thumbnail_url(), к сожалению, не нашел аналога.

    Или можно по-другому. Постам подключены кастомные поля, добавляющие изображение. Если будет проще получить динамическую ссылку на изображение при помощи функции get_post_meta() зная параметр key, такой вариант тоже подойдет.

    Благодарю за помощь.

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Для получения вложенных изображений используют wp_get_attachment_image_src
    Матчасть: https://developer.wordpress.org/reference/functions/wp_get_attachment_image_src/

    Благодарю, а если нужно сослаться не на id картинки, а на страницу товара Woocommerce, в котором есть галерея в виде одного изображения?

    Код выводит 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 фотки в галереи? Например всего в галереи две фотки, а нужно вывести не последнюю, а первую?

    Благодарю за помощь!

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

    Вы перебрали массив до конца, вот и получили последний элемент.
    Если надо вывести элемент массива, то как-то так

    $first_image = wp_get_attachment_url( $attachment_ids[0] );

    Вы перебрали массив до конца, вот и получили последний элемент.
    Если надо вывести элемент массива, то как-то так

    $first_image = wp_get_attachment_url( $attachment_ids[0] );

    СПАСИБО!!!!!!! 🙏🙏🙏🙏🙏

    • Ответ изменён 3 месяца, 3 недели назад пользователем eldeus.
Просмотр 5 ответов — с 1 по 5 (всего 5)