Отображение изображений продуктов ДИНАМИЧЕСКИ в галерее продуктов Woocommerce

У меня есть магазин Woocommerce с сотнями товаров с уникальными изображениями. Некоторые из этих элементов могут повторно использовать одно и то же «общее» изображение, и у меня уже есть сценарий для надежного вызова общих изображений. Однако я не знаю, как включить общее изображение в галерею страниц продукта, не изменяя запись таблицы postmeta. Вызывая функцию update_post_meta, я могу вставить идентификатор изображения, и оно появится в галерее. Но делать это таким образом — не очень хороший подход, потому что, если мне когда-нибудь придется изменить общий образ в будущем, это станет занозой в заднице. Я бы предпочел, чтобы сценарий был динамическим и загружал только общие изображения, поскольку страница продукта генерирует PHP. Другими словами, я не хочу, чтобы какие-либо записи таблицы обновлялись в таблицах WP только для отображения общих изображений. Есть ли способ сделать это? Я убежден, что есть способ сделать это, изменив файлы моей темы, однако я хотел знать, есть ли уже встроенное действие/фильтр Wordpress, который позволяет динамически вставлять изображения без изменения файлов темы.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать 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 и хотите разрабатывать...
0
0
158
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Этот фильтр должен работать

add_filter('woocommerce_product_get_gallery_image_ids', 'add_dynamic_gallery_images', 10, 2);

function add_dynamic_gallery_images($ids, $product){
  $ids[] = 100; //image ID to add
  return $ids;
}

Это отличная идея, и я верю, что она отлично сработает, если я смогу подобрать правильный фильтр. но пока я его тестирую, похоже, он ничего не делает. Я пытаюсь найти информацию о woocommerce_get_product_gallery_image_ids и ничего не могу найти.

ProPixel Media 27.11.2022 16:10

Я также попробовал «get_gallery_image_ids», у которого есть некоторая документация, но он также ничего не сделал.

ProPixel Media 27.11.2022 16:12

Просмотрел допустимые хуки в этом списке, и ни один из них, похоже, не нацелен конкретно на этот случай. Может я не там ищу: woocommerce.github.io/code-reference/hooks/hooks.html

ProPixel Media 27.11.2022 16:21

В get_prop есть фильтр woocommerce/includes/abstracts/abstract-wc-data.php#L821, просто нужно понять, как им правильно пользоваться

Moshe Gross 27.11.2022 16:42

Я обновил его и протестировал, теперь он работает.

Moshe Gross 27.11.2022 17:37

эй. я прочитал о get_prop и о том, как он работает, а потом разобрался. сегодня ты научил меня двум новым вещам. Спасибо

ProPixel Media 27.11.2022 18:05

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