无济于事,我一直在寻找Timber文档以确定如何从主博客的树枝模板中的相邻多站点博客渲染图像。
传递到树枝模板的posts数组是通过调用Timber\Post
扩展名的循环构造的,在此循环中,某些帖子用switch_to_blog(2)
+ restore_current_blog()
处理。从博客ID 2检索的posts数组中的posts包含所有正确和预期的数据,包括Timber\Image
对象。
array (size=9)
...
5 =>
array (size=15)
'ID' => int 7528
...
'image' =>
object(Timber\Image)[4256]
...
public 'ID' => string '8541' (length=4)
但是,当树枝模板呈现帖子数据时,它是针对主要博客而不是与该图像相关联的博客(即博客ID 2)使用图像ID(8541)。当然,结果是使用另一个博客的图像ID从主博客调用了显示的图像。
我希望在遍历posts数组时,Timber\Image
需要切换到另一个博客ID,但是我不确定这样做是如何实现的。
任何帮助将不胜感激。
答案 0 :(得分:0)
我正在做这样的事情-因为我想将所有图像重定向到一个博客(整个WP Multisite的一个媒体库),因此我的处境更加容易。
所以我还不能为您提供完整的答复,但是也许我可以为您指明正确的方向并分享我偶然发现的问题。
首先,我扩展了Timber\Image
,Timber\Post
和Timber\ImageHelper
。
在我的Post Class中,我刚刚更改了图像类(改为我的)。
在图像类中,每次WP使用switch
等功能时,都必须添加restore
和wp_get_attachment...
-因此,每次将图像ID聚合到url / path时,都必须添加。 / p>
在ImageHelper中,您必须使用_Operate
方法-还要添加switch
和restore
。
我仍然遇到的问题:
还要看看这两个插件:
他们有一些不同的方法,所以也许它将以某种方式激发您的灵感。