寻求三个WordPress站点之间更智能的文档管理链接

时间:2017-05-22 作者:Dozza

我在英国建立和管理了两个小学/初中网站。他们最近成立了多学院信托基金(MAT),因此,他们现在共享了相当数量的共同政策和文档。

目前,每所学校的管理员都会获得最新的文档版本(通过电子邮件),以便在各自的网站上上传和链接,因此已经存在一些重复工作,并且版本控制可能会变得不同步。

我现在正在为垫子本身开发第三个站点。接下来,我们希望仅在MAT网站上托管共享和共同政策,并让这两所学校链接到MAT网站上的相关文件。这样一来,MAT网站将全权负责提供最新版本的政策文件。

然而,为了保持三个站点之间的最新同步,仍需要从MAT向这两所学校发出一些通知,让他们知道有新版本的文档,并相应地更新链接。

这将是一个进步,但仍然有点痛苦,我正在寻找一个更智能的解决方案,即每个学校网站链接到一个永久位置(目录?)并简单地链接到该目录中的文件。这样,两个学校网站一旦建立,就无需更新其政策链接。使用WP Media Library“开箱即用”是不可能的(尤其是当我们使用具有结构域的permalinks.co.uk/%year%/%monthnum%/%postname%/),因为当他们上传修订的策略版本时,MAT站点上的月/年会发生变化。

我相信这不是一个合适的要求,其他人也会面临类似的问题。我一直在考虑MAT网站使用第三方文档管理系统,如Zoho Docs、Google Docs、DropBox Pro或类似系统,并完全避免使用WP媒体库。

我很想听听其他用户对这类场景的体验和解决方案,以及它是否真的可以通过Wordpress单独实现,或者是一个插件解决方案?

2 个回复
SO网友:Rarst

WP中没有专门处理跨站点通信的内容。每个WP站点在设计上都是一个孤岛。

然而,有很多有用的细节可以为许多用例装配合适的解决方案。

就我对你的情况而言,我会这样设想:

中央网站承载文档(以任何方便的方式)

SO网友:WebElaine

Option 1: content within content

一个选项是为每个文档创建WordPress页面(或Post或CPT)。因此,除了将PDF上传到MAT网站,您还可以创建一个链接到PDF的页面。这样,当您第一次在MAT上发布内容时,您会将页面的URL发送到这两所学校。然后,不管最终PDF更新了多少次,您只需编辑MAT页面链接,学校就不必做任何更改。

Option 2: redirects

另一种选择是重定向。您仍然只需将PDF上传一次到MAT,然后使用插件或编辑即可。htacess,您将添加重定向。例如:

Redirect 302 /name-of-the-document http://mysite.edu/wp-content/uploads/05/filename-current-version.pdf
您将使用302(临时)重定向,因为如果您使用301s,web浏览器将缓存重定向,并将指向PDF的旧版本,直到访问者清除缓存为止。通过使用302s,每当您上载新文件并更新重定向以指向该文件时,访问者将被带到新版本。只需给出缩短的/name-of-the-document 要链接到的学校的URL。

Option 3: preserve filenames

这可能有点棘手,但您也可以简单地将PDF上载到MAT站点,然后每当有更新时,删除旧PDF并上载具有完全相同文件名的新PDF。

诀窍是,你需要有一个页面(或帖子或CPT)来上传这些内容。如果您直接上传到媒体库,WordPress会在您每次上传PDF时自动将其放在当月的文件夹中,因此URL会发生变化。但如果每次都转到同一页面的编辑器视图,WordPress会自动将您在该屏幕中上载的内容放入页面最初发布的日期文件夹中。因此,即使你实际上没有在页面中包含PDF,只要你总是(1)先通过媒体模式删除旧PDF,然后(2)通过媒体模式上载文件名完全相同的新PDF,你的学校就不需要更新链接,因为新文件位于旧文件的URL。

缺点是,如果你有非技术用户在上传,或者只是不小心在正确的位置删除和上传,很容易不小心把文件放错文件夹,或者把文件名改成一个字符,然后学校就会断开链接。此外,如果访问者缓存了PDF,他们可能会看到旧的PDF,而不是新的更新的PDF(尽管如果他们打印出硬拷贝,这也会是一个问题,因此无论如何,你不能总是阻止人们使用旧拷贝)。

结束

相关推荐

当我从插件添加带有wp_enQueue_style的样式表时,如何让DEFER或ASYNC属性出现?

几乎我所有的CSS和JS资源都可以通过在资源中添加一个异步或延迟标记来延迟。这可能会大大提高页面加载时间的性能。但是,当wp\\u enqueue\\u style()负责添加这些属性时,我不知道如何指定要添加到头部的属性。wp\\u enqueue\\u script()似乎没有为额外属性使用参数。还有别的办法吗?