放置资产以供外部使用

时间:2013-06-23 作者:w0rldart

我正在开发一个插件,用于处理wordpress站点的外部请求。

插件将生成.json 文件,并将附带2个默认值.css 样式和1.css 包含常见样式规则的文件(稍后我将合并它们)。

我关心的是,我应该把文件放在哪里,创建simlink 在插件的资产文件夹和.json 文件生成于。

插件文件夹结构:

plugin/
      assets/
            common.css
            blue.css
            clear.css
      plugin.php
      plugin-class.php
目前是json 生成文件:

$dir = wp_upload_dir();
$dir = $dir[\'basedir\'].\'/plugin\';

WP_Filesystem();
global $wp_filesystem;

if (wp_mkdir_p($dir))
     $wp_filesystem->put_contents($dir.\'/latestArticles.json\', \'callback(\'.json_encode($toExport).\')\', 0644);
在未来的版本中,我将允许将文件上载到S3 Bucket,但与此同时,我目前将它们放置到上述路径,主要是因为所有may请求mm.site.com/... 正在穿过云峰

所以,我想问的是,如果有(或推荐)一个simlink 从…起site/wp-content/plugins/plugin/assets/site/wp-content/uploads/plugin/assets ? 如果没有,我应该将文件放在哪里,以便可以从外部请求中获得它们?

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

为了方便起见,我在dev服务器上使用了符号链接,但它们并不是百分之百可靠的,因为一些PHP函数将返回目标的文件系统路径,而不是指向符号链接本身的路径。The most notable example (though not really a function) is the magic constant __FILE__. (同时https://bugs.php.net/bug.php?id=46260) 这可能会带来麻烦,解决起来可能会令人沮丧。因此,即使在开发服务器上,我也不再使用符号链接。也许结合了this and related functions 你可以让它可靠地工作,但我想我不会。

如果您公开分发此插件,那么在需要运行代码的各个服务器上创建这些符号链接会带来额外的问题。

您的文件不应在以下位置不可访问:site/wp-content/plugins/plugin/assets/site/wp-content/uploads/plugin/assets 如果您获得了正确的权限,但我会通过其他机制使其可以访问,例如AJAX API, 如果是我。

结束

相关推荐

如何用子主题干净利落地覆盖插件的css?

我已经承担起遵守WordPress惯例的责任,这样我就可以有一个干净、性感的儿童主题。然而,我不确定如何处理某个问题。我想覆盖我WordPress网站中一些插件的CSS,并且this wonderful post 这是朝着正确方向迈出的一大步。我唯一担心的是我会尽我所能avoid overriding 这个header.php 文件,以便执行此操作。有没有其他很好的方法可以做到这一点?谢谢你的帮助!Update:正如另一位用户的评论所指出的,这实际上取决于插件如何实现其样式。除此之外,假设插件确实提供了在