WPCC

WP Chinese Conversion是我寫的一個Wordpress繁簡轉換插件.有關的說明,幫助和文檔請訪問Wordpress.org上插件發布頁.你可以訪問我的SVN獲取本插件所有版本代碼.

您可以在這裡留言(問題,建議,Bug,其他...).但我不保證回復.

28 Responses to “WPCC”


  • Works great, thank you

  • Do you habe WP Japanese Conversion files for lugins ?

    Thanks

  • 非常好,非常感谢,我现在正在用这个插件。这里我写了一篇文章:
    http://emule-fans.com/wordpress-cht-chs-plugin/
    据说百度蜘蛛不认noindex,follow。。

    另外,如果有的内容想要强行不转化,什么方法可以做到?谢谢

  • @tomchen1989
    一种方法是用在日志中直接写Unicode编码, 如
    勝 对应 勝 字

    或者(目前不推荐), 更改插件中 zhconversion函数,改为下面内容.

    function zhconversion($str) {
    	    global $wpcc_target_lang ;
    	    return limit_zhconversion($str , $wpcc_target_lang , 'pre')
    }
    

    (服务器必须支持mb string扩展, limit_zhconversion函数中用到.)

    然后把你不想转换内容包裹在<pre>标签里.警告, 这可能明显降低页面生成速度并增加CPU使用.因为偶limit_zhconversion函数算法写得很烂 - , -. 如果有能力, 你可以帮偶改改,- -呵呵

  • 嗨,我升級到2.8后出錯了,Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 84 bytes) in /home/domains/leeiio.me/public_html/wp-content/plugins/wp-chinese-conversion/ZhConversion.php on line 5605
    何解?

  • @Leeiio
    很明显,这是一个php内存不足错误。本插件需要约2MB内存,wordpress本身需要至少20MB内存。WP2.8的内存需求貌似更大了,如果你php内存占用限制不能满足wp本身和插件、主题的需求,就会出现错误。

    解决方法是改php.ini中allowed_memory_size(好像是这个名字)值,改大点。

  • 嘿,不知道怎么通知你插件的问题,就是1.14版本升级后,我用firebug看了下post是有数据的,但是“响应”那里没有数据,我自己用ajax提交的,但是1.12是没有问题的。

  • @Leeiio
    你用的什么ajax评论插件? 我只在理论上"测试"过ajax评论提交时繁简转换.

  • 用的是k2里面提取的,这篇文章有详细介绍 http://hellobmw.com/archives/ajax-comments-with-jquery-for-wordpress.html 主要问题是1.12版本是正常的,现在的1.15也是不正常的。

  • 你好
    我的博客现在是用简体,我想使用该插件,让网站默认直接输出繁体,而不是由用户选择切换,不知可否?

  • @Leeiio
    我再看看。。貌似我还特意针对K2写过代码= =。。

    @Ariagle
    目前不行。这个功能实现起来很容易,有需要的我可以加入。不过,那你为什么不直接写繁体呢= =。如果把文章默认转换为繁体输出,每次访问请求都会实时转换(除非用cache插件),比较耗费资源

  • 噢,那我再看看现在能否先自己修改代码来解决吧= =

  • @Leeiio
    你遇到的这个问题原因是ob缓存造成的. 在你使用的ajax-comments.php里有:

    ob_start('kill_data');
    register_shutdown_function('check_db');
    require_once(dirname(__FILE__)."/../../../wp-config.php");
    $db_check = false;
    ob_end_clean();

    本插件默认启用"对页面内容"全部转换, 会调用ob_start('wpcc_ob_callback'), 由于ob缓存是分层的, 你上面的代码ob_end_clean()实际上把本插件的ob_start "clean"了, 剩下的ob_start('kill_data');被Wordpresss默认的shutdown filter用ob_end_flush处理, 回调函数清除了所有数据, 所以输出为空.

    You have 3 options- -
    A. 在本插件后台关闭"对页面内容整体转换"复选框
    B. ajax-comments.php里去掉ob_start('kill_data');和ob_end_clean();两行, 通常不会有副作用
    C. 修改本插件代码, 117行
    if( (strpos($_SERVER['PHP_SELF'], 'wp-comments-post.php') !== false
    || strpos($_SERVER['PHP_SELF'], 'ajax-comments.php') !== false
    || strpos($_SERVER['PHP_SELF'], 'comments-ajax.php') !== false
    ) &&
    $_SERVER["REQUEST_METHOD"] == "POST" &&
    !empty($_POST['variant']) && in_array($_POST['variant'], $wpcc_options['wpcc_used_langs'])
    ) {
    global $wpcc_target_lang;
    $wpcc_target_lang = $_POST['variant'];
    wpcc_do_conversion();
    return;
    }
    在if语句块开始直接用return;返回, 但这样后ajax提交评论后返回的评论文字不会被繁简转换.

  • @小野大神
    十分感谢这么详细的讲解,我去试试。

  • 您好,反馈一个问题,不知道是不是仅存在于我所使用的虚拟主机中

    在我的 Blog 里,如果永久链接设置成 *.html 的形式,那么将只能使用默认的简繁转换页面永久链接格式,因为 *.html/zh-tw 这样的链接会遭遇 404 错误。

  • 已经找到原因了,在更新插件设置后,貌似需要重新应用 WP 的永久链接设置,对我的 Blog 来说是如此。我再好好研究研究吧。

  • 哦不好意思,又來打擾了。不知道有沒有辦法設置一個函數,類似 WP 里 is_home 之類的函數,用來判斷頁面是否經過轉換?

    我自己也試試看有沒有辦法加上,不過自己沒怎么接觸過 PHP,恐怕還得靠您幫忙了:P

  • @微行

    $wpcc_target_lang是本插件设置的一个全局变量,如果当前页面经过转换其值为语言代码(如 zh-tw),否则为false。在模板中使用该变量前应global之。

  • @小野大神

    谢谢!已经根据 $wpcc_target_lang 定义了一个变量。主要是针对重复内容的 SEO。我想对于 nofollow 来说更加喜欢用 canonical,呵呵:)

  • 我安裝了插件,但是好像沒有作用(啟動以後,當我按下簡體或者其他轉換按鈕時,就會顯示:找不到網頁)

    另外當我在設定更改永久連結時都會出現以下錯誤

    Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7864320 bytes) in /home2/qmancc/public_html/Wordpresstest/wp-content/plugins/wp-chinese-conversion/ZhConversion.php on line 16400

    也如版主所說,去找php.ini, 不過沒發現有allowed memory size這個屬性

  • @Max

    php.ini那個是我記錯了, 正確的屬性名是memory_limit, 值格式為"128M"

    關于你第一個問題, 你是不是在本插件后臺更改了"繁簡轉換頁面URL格式"? 試試重新保存一下WP后臺-Permalink設置. 你沒給網址, 無法進一步幫你判斷.

  • 這是我的網站

    test.qman.cc

    我現在連進去設定頁面也會跑出
    完全無法設定

    Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7864320 bytes) in /home2/qmancc/public_html/Wordpresstest/wp-content/plugins/wp-chinese-conversion/ZhConversion.php on line 16400

  • hello,現在記憶體的問題解決了

    但是網頁卻一直出不來,連在後台想要設定 Select Admin Language:
    都會找不到網頁,如下:
    Not Found
    The requested URL /wordpresstest/wp-admin/options-general.php was not found on this server.

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

    URL:http://www.qman.cc/wordpresstest/wp-admin/options-general.php?page=wp-chinese-conversion%2fwp-chinese-conversion.php&variant=zh-hans

  • Who instigated this interview? ,

  • “bloginfo('home')”函数返回主页地址。WPCC对于主页地址无法转换,比如台湾正体无法自动在主页地址后面添加“/?variant=zh-tw”或“/zh-tw/”。请问如何解决此问题?

  • @wzs

    这个都被你发现了- - 没错, 主页地址不自动转换, 因为Wordpress很多地方依赖于原始主页地址, 转换的话会有很多问题. 你可以这样做:

    找到模板里首页链接 <a href="<?php bloginfo('home'); ?>/"><?php bloginfo('name'); ?>>/a>

    删去红色的 "/"

    替换 bloginfo('home');函数:

    如果你的永久链接是默认的"/?p=123"形式, 把这个函数替换为wpcc_link_conversion(bloginfo('home') . '/' ); 否则, 替换为trailingslashit(wpcc_link_conversion(bloginfo('home') . '/'));

  • 是echo trailingslashit(wpcc_link_conversion(bloginfo('home') . '/'));好像
    楼主在这个插件的下一版里面增加一个显示主页的函数好了。。。