WordPress - получить ссылку на галерею продуктов в массиве по идентификатору продукта на single.php

Я разрабатываю шаблон с нуля в WordPress, у меня проблема с получением изображений продуктов / галереи на single.php по идентификатору продукта; вот мой код:

function GetImageUrlsByProductId( $productId){

    $product = new WC_product($productId);
    $attachmentIds = $product->get_gallery_image_ids();
    $imgUrls = array();
    foreach( $attachmentIds as $attachmentId )
    {
        $imgUrls[] = wp_get_attachment_url( $attachmentId );
    }

    return $imgUrls;
}
$id = the_ID();
echo $id."<br/>";
$title = get_the_title();
echo $title."<br/>";
print_r(GetImageUrlsByProductId($id));

Он показал пустой массив, но мне нужен путь к изображениям.

Если вы ищете идентификатор продукта woocommerce, я не верю, что вам нужен the_ID (); stackoverflow.com/questions/27385920/…

Second2None 04.01.2019 07:06

Я не ищу идентификатор продукта, мне нужна галерея продуктов на моем single.php самым простым способом, независимо от того, получает ли он идентификатор продукта или какую-либо функцию для вызова

Roxas Zohbi 04.01.2019 07:08

@RoxasZohbi, вы используете функцию the_ID (), но эта функция используется только для отображения идентификатора сообщения, что означает, что в соответствии с вашим сценарием вы должны использовать этот get_the_ID () для получения идентификатора сообщения, а затем его можно сохранить в переменной $ id. можете проверить мой ответ ниже

Bhavin Thummar 04.01.2019 07:57

Для получения дополнительной информации вы можете проверить эту ссылку developer.wordpress.org/reference/functions/the_id и этот developer.wordpress.org/reference/functions/get_the_id

Bhavin Thummar 04.01.2019 07:58

Над обеими ссылками вы можете определить разницу в отображении и получить данные.

Bhavin Thummar 04.01.2019 08:00
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
5
113
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, что этот код может решить проблему.

<?php
    $product_id = get_the_ID();
    $product = new WC_product($product_id);
    $attachment_ids = $product->get_gallery_attachment_ids();

    foreach( $attachment_ids as $attachment_id ) 
        {
          // Display the image URL
          echo $Original_image_url = wp_get_attachment_url( $attachment_id );

          // Display Image instead of URL
          echo wp_get_attachment_image($attachment_id, 'full');

        }
?>

Спасибо за помощь

Roxas Zohbi 04.01.2019 19:11

Другие вопросы по теме