Как вывести изображение из соседнего многосайтового блога в шаблон веточки (объект Timber \ Image) - PullRequest
0 голосов
/ 04 октября 2018

Безрезультатно, я искал документы Timber, чтобы определить, как визуализировать изображения из смежного многосайтового блога в шаблонах веток основного блога.

Массив posts, который передается в шаблон веточки:построен через цикл, который вызывает расширение Timber\Post, во время которого некоторые сообщения обрабатываются с switch_to_blog(2) + restore_current_blog().Сообщения в массиве сообщений, полученные из идентификатора блога 2, содержат все правильные и ожидаемые данные, включая объект Timber\Image.

array (size=9) ... 5 => array (size=15) 'ID' => int 7528 ... 'image' => object(Timber\Image)[4256] ... public 'ID' => string '8541' (length=4)

Однако, когда шаблон веточкиотображает данные записи, используя идентификатор изображения (8541) для основного блога, а не для блога, связанного с изображением (т. е. идентификатор блога 2).В результате, конечно, отображаемое изображение вызывается из основного блога с использованием идентификатора изображения из другого блога.

Я ожидаю, что при циклическом просмотре массива posts Timber\Image необходимо переключиться надругой идентификатор блога, но не я не уверен, как это сделать.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 16 октября 2018

Я просто делаю что-то подобное - моя ситуация проще, потому что я хочу перенаправить все изображения в один блог (одна библиотека мультимедиа для всего WP).

Так что я могупока не предоставлю вам полного ответа, но, возможно, я могу указать вам правильный путь и поделиться проблемами, с которыми я столкнулся.

Прежде всего, я расширил Timber\Image, Timber\Post и Timber\ImageHelper.

В своем почтовом классе я просто изменил класс изображения (на мой).

В Image Class вы должны добавлять switch и restore каждый раз, когда WP использует такие функции, как wp_get_attachment... и т. Д., Поэтому каждый раз, когда идентификатор изображения конвертируется в url / path.

В ImageHelper вы должны работать с методом _Operate - также добавьте switch и restore.

Проблемы, которые у меня все еще есть:

  • ACF - я добавилФильтр для переключения на правильный блог
  • , как вы видите - много переопределений - обновление будет проблематичным

Также взгляните на эти два плагина:

у них немного другой подход, так что, возможно, это каким-то образом вдохновит вас.

...