WordPress MultiSite:如何让所有媒体库项目对每个站点都可用?

时间:2017-08-23 作者:Casey

我有一个WordPress多站点,其中主站点的媒体库中有我想在每个附加站点中使用的所有图像,但是我无法找到一种方法来将所有图像显示在附加站点的媒体库中。

我已经看过了Network Shared Media plugin 但它不允许我在需要的地方添加图像。仅在帖子/页面内容中。

3 个回复
SO网友:Rick Hellewell

如评论中所述,媒体实际上是一个特殊的“帖子”,因此媒体只属于子网站,不容易从子网站访问。

但是,有一些方法可以遍历所有子网站,并在任何子网站的单个页面上显示所有子网站中的媒体。我用我的多站点媒体显示插件来实现这一点(https://wordpress.org/plugins/multisite-media-display/ ), 它首先将所有子网站枚举到一个数组中,然后查询每个子网站以显示该子网站中的图像。它通过您在帖子/页面上显示的快捷码完成工作。我使用它监控所有子网站上的媒体,以确保媒体符合网站标准。而且,如果以超级管理员身份登录,每个图像都会链接到它的“编辑”页面,这允许我根据需要旋转图片。

与所有插件一样,代码是“开源的”(插件是免费/全功能的),因此如果你想“推出你自己的”,你可以使用我使用的代码流程(我从谷歌收集的,然后将代码调整到我的插件中)。我找不到一个能满足我需要的插件,所以写了它供我自己使用。(然后,我通过一个快捷码修改显示所有子网站的帖子或评论。)

该插件具有指定子网站和其他参数的选项,因此您可以根据需要“过滤”输出。

欢迎您使用插件中的代码来创建自己的插件,该插件将完全满足您的需要。

SO网友:jgangso

@凯西,你找到解决办法了吗?

我开发并维护了一个插件,如果我理解正确的话,它可以很好地解决您的问题。

它使用内置的WP功能将上载的媒体库条目复制到所有站点,使其成为每个站点上的本机媒体对象。但是,为了节省磁盘空间,磁盘上只存储了实际文件的一个副本。

还可以在整个网络中复制所有现有映像。管理员可以选择是否还应通过网络或每个站点删除媒体。

可从CodeCanyon购买:https://codecanyon.net/item/wordpress-multisite-shared-media/19306250?ref=aikadesign

P、 我与该产品有关联,这意味着如果有人购买该产品,我会得到报酬。我理解,如果自己的产品回答了问题,并且联系明确,那么推广自己的产品是可以的。我认为这些条件在这里适用

SO网友:2NDGenesis

我遇到了完全相同的问题。试试这个。。。将以下内容添加到。安装多站点的站点C面板文件管理器中的htaccess文件,将其他WordPress规则替换为:

RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\\.php)$ $2 [L]
RewriteRule . index.php [L]
您可以直接从网络设置设置中获取此代码。

结束

相关推荐

WordPress MultiSite如何知道已安装插件?

我正在运行一个WP多站点网络。我很想知道WordPress是如何知道网络站点上安装了插件的:WP如何知道插件是网络激活的</WP如何知道插件在站点级别被激活它是否在某个DB表中记录了此实例?如果是,哪个表以及如何标记?谢谢你的帮助。