Zip下载插件在本地主机上运行良好,但在Live站点上运行不佳

时间:2013-09-19 作者:gurung

我需要在每一篇帖子上[向注册用户]提供一个zip文件下载,其中包含贴在帖子上的所有图像。这个solution provided in this thread 尽管由于namespace 插件代码第一行中的语法-namespace GalleryZip;.

我在本地主机上测试了线程中提供的插件,其中wordpress 3.6.1安装了单行代码。php<?php echo do_shortcode(\'[gallery]\'); ?> 它提供了一个很好的zip下载链接“获取为zip”,到目前为止还不错。但是,现在,当我在我的live站点上安装了同样的插件,该插件也运行在最新的wp 3.6.1上时,它显示了一个预期的链接,但link does not prompt a zip-download 点击只会刷新页面。早些时候,该插件还显示了一个意外的本地图片库,该图片库附在帖子上,并由@cybnat迅速解决。

环境:我的live站点使用PHP 5.3.27,localhost是windows 7上的WAMP,使用PHP 5.3.1。我已经在最新的firefox、chrome和safari浏览器中进行了测试,在本地主机上正常工作,而不是在实时站点上。我将主题更改为默认的213(在循环内外尝试),并禁用了所有其他插件,结果没有变化。Firebug控制台显示http://website.com/wp-admin/admin-ajax.php 200 OK 单击链接。在视图中,live site js的源代码按预期加载,下面是打印。

<script type=\'text/javascript\' src=\'http://website.com/wp-content/plugins/gallery-zip-master/js/gallery_zip.min.js?ver=3.6.1\'></script>
UPDATE : 根据下面的建议,我将localhost wp安装升级到3.6.1,并排除了由于wp版本不同而出现任何问题的可能性。该插件仍按预期工作,在本地环境中测试时,点击即可提供zip下载链接。剩下的问题是,在实时服务器上,链接does not 而是提示zip下载just refreshes the page. 虽然我在不断地测试,并且尽我所能,但如果能提供一些帮助或提示,我将不胜感激。

**根据最新反馈和情况,正在调整问题的标题和内容。如果可以的话,请看一下plugin code at github 让我知道这是否可以解决,如果我哪里做错了,请纠正我。如果你觉得这个问题应该在其他论坛上提出,也请告诉我。

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

目录权限是与此主题相关的问题。当插件被激活时,它会在wp content目录下创建一个名为“galleryzip缓存”的文件夹。文件夹在初始创建时的权限设置为001。如果您将权限设置为775,它将工作正常。

所有的荣誉和努力都归于“cybnet”和“benmiller”,他们实际上试图回答。对我来说,留下一个答案比留下一个比较模糊的评论更有意义。希望这对别人有帮助。

SO网友:cybmeta

如您所见,链接问题的代码在此函数中添加了自定义库快捷码:

private final function __construct() {
    remove_shortcode( \'gallery\' );
    add_shortcode( \'gallery\', array( __CLASS__, \'gallery_zip_shortcode\' ) );
}
然后在此函数中执行此自定义库短代码:

public static function gallery_zip_shortcode( $atts ) {

    $post = get_post();

    if ( ! function_exists( \'gallery_shortcode\' ) )
        require_once ABSPATH . \'wp-includes/media.php\';

    self::get_gallery_images_from_shortcode( $post->ID, $atts );
    $output = gallery_shortcode( $atts );

    $gallery_id = count( self::$images[$post->ID] ) - 1;

    $link = sprintf( \'<div><a href="#" gallery-id="%d" post-id="%d" class="gallery-zip">%s</a></div>\', $gallery_id, $post->ID, __( \'Get as Zip\' ) );
    $output .= $link;

    return $output;

}
尝试注释掉$output = gallery_shortcode( $atts ); 线

另一个关于下载链接不起作用的问题(你忘了在问题中提到)是因为插件可能会有意想不到的行为,实际上,对于Wordpress<;3.5。您应该联系开发人员。

SO网友:gremza

经过多次研究,我发现问题在于插件生成的目录galleryzip缓存。您必须在755处修改对文件夹galleryzip缓存的访问权限,一切正常。

结束

相关推荐

Paginate Gallery

我正在使用默认的WordPress Gallery(以及Cleaner Gallery插件)来显示一些图像。画廊似乎没有的一件事是分页。我想做的是在6张图片之后添加上一个和下一个链接来浏览页面。话虽如此,有几个插件声称添加了此功能,但它们都是在没有新媒体库的情况下开发的,而新媒体库是WordPress 3.5的标准配置。我不想改变用户的体验。。。我只是想通过函数添加功能。php或循环本身。我可以将同样的东西应用到所有的库中,因此如果修复程序能够以某种方式找到库的短代码,那就太棒了!不知道该怎么做,只是在这