一个wordpress用了ngg相册,大概有2万张图片,速度慢的不行,关掉了ngg,速度就正常了,于是写了段代码,兼容ngg gallery的singlepic写法,能正常显示图片,网站速度恢复正常。
莫名其妙的插件,怎么能把速度搞这么慢。这段代码可以用作NextGEN Gallery停用后的一个解决方案
<?php
/*
Plugin Name: fcuk ngg gallery
Plugin URI: http://www.juyimeng.com
Description: display pic without ngg
Author: juhui
Version: 1.0
Author URI: http://www.juyimeng.com/
*/
function ngg_pic_replacer($content) {
$search = "@\\no images were found
@i";
$content= preg_replace_callback( $search, replace_picture , $content,-1);
return $content;
}
function replace_picture($matches) {
global $post, $wpdb;
$picture_id = $matches['id'];
$sql="SELECT * FROM {$wpdb->prefix}ngg_pictures p left join {$wpdb->prefix}ngg_gallery g on p.galleryid=g.gid WHERE p.pid = ".
intval( $picture_id ) . " ORDER BY sortorder, pid ASC";
$ngg_image = $wpdb->get_row( $sql );
$append="";
if ($matches['width']) $append.=" width=".$matches['width'];
if ($matches['height']) $append.=" height=".$matches['height'];
if ($matches['float']) $append.=" align=".$matches['float'];
return "<a href=\"/".$ngg_image->path."/".$ngg_image->filename."\"><img class=\"alignnone size-full\" alt=\"image\" ".$append.
" src=\"/".$ngg_image->path."/thumbs/thumbs_".$ngg_image->filename."\"/></a>";
}
add_filter('the_content', 'ngg_pic_replacer');
add_filter('the_excerpt', 'ngg_pic_replacer');
?>
部分代码有问题,我是否要发布到wordpress上呢?