• 欢迎访问誉卿博客,推荐使用最新版火狐浏览器和 Chrome 浏览器访问本网站。

  • 初不解禅心未住,悟后逍遥游处方。 山水有情皆由心,见山见水皆天堂。

WordPress 相册插件 NextGEN-Gallery 添加目录中文支持解决办法(转为拼音)

网络 yqdnsjs 12年前 (2013-03-24) 235次浏览 扫描二维码

NextGEN Gallery是Wordpress中著名的相册插件,遗憾的是不支持中文等unicode字符,本文将介绍如何将目录转换为拼音(添加图集时)。

以NextGEN 1.6.2为例:

“新增图集/图片”的路径是:admin.php?page=nggallery-add-gallery,我们在nextgen-gallery/admin/admin.php中查找“nggallery-add-gallery”,

 

复制代码
switch ($_GET[‘page’]){
case “nggallery-add-gallery” :
include_once ( dirname (__FILE__) . ‘/functions.php’ ); // admin functions
include_once ( dirname (__FILE__) . ‘/addgallery.php’ ); // nggallery_admin_add_gallery
$ngg->addgallery_page = new nggAddGallery ();
$ngg->addgallery_page->controller();
break;
复制代码

类nggAddGallery在addgallery.php中,鼠标悬停在”新增图集“Tab上时从浏览器的状态栏可以看到URL是 admin.php?page=nggallery-add-gallery#addgallery , 在addgallery.php中查找”addgallery”看到其调用了:

nggAdmin::create_gallery($newgallery, $defaultpath);

nggAdmin类位于functions.php中,create_gallery函数修改如下:(红色粗体是新增加的行)

 

复制代码
require_once(‘cn2pinyin.php’);
/**
* nggAdmin – Class for admin operation
*
* @package NextGEN Gallery
* @author Alex Rabe
* @copyright 2007-2010
* @access public
*/
class nggAdmin{

/**
* create a new gallery & folder
*
* 添加中文支持 by:Elf Sundae
*
* @class nggAdmin
* @param string $gallerytitle
* @param string $defaultpath
* @param bool $output if the function should show an error messsage or not
* @return
*/
function create_gallery($gallerytitle, $defaultpath, $output = true) {

global $wpdb, $user_ID;

// get the current user ID
get_currentuserinfo();

//cleanup pathname
$galleryname = sanitize_file_name( $gallerytitle );
// 中文转换为拼音
$galleryname = cn2pinyin($galleryname,1
);
$galleryname = apply_filters(‘ngg_gallery_name’, $galleryname);
$nggpath = $defaultpath . $galleryname;
$nggRoot = WINABSPATH . $defaultpath;
$txt = ”;

复制代码

其中cn2pinyin是汉字转换为拼音的函数,位于cn2pinyin.php(新建此文件)中。

cn2pinyin.php

download cn2pinyin.php at: http://elfsundae.pastebin.com/SqP7GxDW

另外,修改“新增图集”中的名称支持字符提示:

addgallery.php 中,Line:304

 

复制代码
function tab_addgallery() {
?>
<!– create gallery –>
/// ….
<?php _e(‘Create a new , empty gallery below the folder’, ‘nggallery’) ;?> <strong><?php echo $this->defaultpath ?></strong><br />
<?php } ?>
<i>(图集名称支持以下字符:中文、A-Z、a-z、0-9、-、_ ,中文将自动转换为拼音)</i></td>
</tr>
<?php do_action(‘ngg_add_new_gallery_form’); ?>
</table>
//…
</form>
喜欢 (0)