现在的位置: 首页Wordpress>正文
HotNewsPro主题留言模板错误提示语汉化comments-ajax.php
2011年12月20日 Wordpress 评论数 10 ⁄ 被围观 4,531+

HotNewsPro主题本人甚是喜欢,于是折腾了下,发现留言板的错误提示语是英文的,于是乎闲着无聊便汉化了一下,仅供需要的人参考哈,下面是主题目录中comments-ajax.php汉化后的代码,复制粘贴即可。

  1. <?php   
  2. /**
  3. * WordPress 内置嵌套评论专用 Ajax comments >> WordPress-jQuery-Ajax-Comments v1.3 by Willin Kan.  
  4.  *  
  5.  * 说明: 这个文件是由 WP 3.0 根目录的 wp-comment-post.php 修改的, 修改的地方有注解. 当 WP 升级, 请注意可能有所不同.  
  6.  */  
  7.   
  8. if ( 'POST' != $_SERVER['REQUEST_METHOD'] ) {   
  9.     header('Allow: POST');   
  10.     header('HTTP/1.1 405 Method Not Allowed');   
  11.     header('Content-Type: text/plain');   
  12.     exit;   
  13. }   
  14.   
  15. /** Sets up the WordPress Environment. */  
  16. require( dirname(__FILE__) . '/../../../wp-load.php' ); // 此 comments-ajax.php 位于主题数据夹,所以位置已不同   
  17.   
  18. nocache_headers();   
  19.   
  20. $comment_post_ID = isset($_POST['comment_post_ID']) ? (int) $_POST['comment_post_ID'] : 0;   
  21.   
  22. $post = get_post($comment_post_ID);   
  23.   
  24. if ( emptyempty($post->comment_status) ) {   
  25.     do_action('comment_id_not_found', $comment_post_ID);   
  26.     err(__('无效评论.')); // 将 exit 改为错误提示   
  27. }   
  28.   
  29. // get_post_status() will get the parent status for attachments.   
  30. $status = get_post_status($post);   
  31.   
  32. $status_obj = get_post_status_object($status);   
  33.   
  34. if ( !comments_open($comment_post_ID) ) {   
  35.     do_action('comment_closed', $comment_post_ID);   
  36.     err(__('抱歉,本文评论功能已关闭.')); // 将 wp_die 改为错误提示   
  37. elseif ( 'trash' == $status ) {   
  38.     do_action('comment_on_trash', $comment_post_ID);   
  39.     err(__('无效评论.')); // 将 exit 改为错误提示   
  40. elseif ( !$status_obj->public && !$status_obj->private ) {   
  41.     do_action('comment_on_draft', $comment_post_ID);   
  42.     err(__('无效评论.')); // 将 exit 改为错误提示   
  43. elseif ( post_password_required($comment_post_ID) ) {   
  44.     do_action('comment_on_password_protected', $comment_post_ID);   
  45.     err(__('评论受密码保护')); // 将 exit 改为错误提示   
  46. else {   
  47.     do_action('pre_comment_on_post', $comment_post_ID);   
  48. }   
  49.   
  50. $comment_author       = ( isset($_POST['author']) )  ? trim(strip_tags($_POST['author'])) : null;   
  51. $comment_author_email = ( isset($_POST['email']) )   ? trim($_POST['email']) : null;   
  52. $comment_author_url   = ( isset($_POST['url']) )     ? trim($_POST['url']) : null;   
  53. $comment_content      = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;   
  54. $edit_id              = ( isset($_POST['edit_id']) ) ? $_POST['edit_id'] : null; // 提取 edit_id   
  55.   
  56. // If the user is logged in   
  57. $user = wp_get_current_user();   
  58. if ( $user->ID ) {   
  59.     if ( emptyempty$user->display_name ) )   
  60.         $user->display_name=$user->user_login;   
  61.     $comment_author       = $wpdb->escape($user->display_name);   
  62.     $comment_author_email = $wpdb->escape($user->user_email);   
  63.     $comment_author_url   = $wpdb->escape($user->user_url);   
  64.     if ( current_user_can('unfiltered_html') ) {   
  65.         if ( wp_create_nonce('unfiltered-html-comment_' . $comment_post_ID) != $_POST['_wp_unfiltered_html_comment'] ) {   
  66.             kses_remove_filters(); // start with a clean slate   
  67.             kses_init_filters(); // set up the filters   
  68.         }   
  69.     }   
  70. else {   
  71.     if ( get_option('comment_registration') || 'private' == $status )   
  72.         err(__('抱歉,请登录后再进行评论.')); // 将 wp_die 改为错误提示   
  73. }   
  74.   
  75. $comment_type = '';   
  76.   
  77. if ( get_option('require_name_email') && !$user->ID ) {   
  78.     if ( 6 > strlen($comment_author_email) || '' == $comment_author )   
  79.         err( __('错误: 请填写必填项 (昵称,邮箱).') ); // 将 wp_die 改为错误提示   
  80.     elseif ( !is_email($comment_author_email))   
  81.         err( __('错误:请填写合法Email地址.') );// 将 wp_die 改为错误提示   
  82. }   
  83.   
  84. if ( '' == $comment_content ){   
  85.     err( __('错误:请填写评论内容.') ); // 将 wp_die 改为错误提示   
  86.     }elseif(iconv_strlen($comment_content,"UTF-8") <10){   
  87.         err( __('提示:不能少于10个字'));   
  88.     }elseif(iconv_strlen($comment_content,"UTF-8") >500){   
  89.         err( __('提示:不能多于500个字'));   
  90.         }   
  91. // 增加: 错误提示功能   
  92. function err($ErrMsg) {   
  93.     header('HTTP/1.1 405 Method Not Allowed');   
  94.     echo $ErrMsg;   
  95.     exit;   
  96. }   
  97.   
  98. // 检查重复评论功能   
  99. $dupe = "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = '$comment_post_ID' AND ( comment_author = '$comment_author' ";   
  100. if ( $comment_author_email ) $dupe .= "OR comment_author_email = '$comment_author_email' ";   
  101. $dupe .= ") AND comment_content = '$comment_content' LIMIT 1";   
  102. if ( $wpdb->get_var($dupe) ) {   
  103.     err(__('重复评论检测:看起来这条评论你以前说过.'));   
  104. }   
  105.   
  106. // 检查评论太快功能   
  107. if ( $lasttime = $wpdb->get_var( $wpdb->prepare("SELECT comment_date_gmt FROM $wpdb->comments WHERE comment_author = %s ORDER BY comment_date DESC LIMIT 1"$comment_author) ) ) {    
  108. $time_lastcomment = mysql2date('U', $lasttime, false);   
  109. $time_newcomment  = mysql2date('U', current_time('mysql', 1), false);   
  110. $flood_die = apply_filters('comment_flood_filter', false, $time_lastcomment$time_newcomment);   
  111. if ( $flood_die ) {   
  112.     err(__('您发表评论也太快了'));   
  113.     }   
  114. }   
  115.   
  116. $comment_parent = isset($_POST['comment_parent']) ? absint($_POST['comment_parent']) : 0;   
  117.   
  118. $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'comment_parent', 'user_ID');   
  119.   
  120. // 检查评论是否正被编辑, 更新或新建评论   
  121. if ( $edit_id ){   
  122. $comment_id = $commentdata['comment_ID'] = $edit_id;   
  123. wp_update_comment( $commentdata );   
  124. else {   
  125. $comment_id = wp_new_comment( $commentdata );   
  126. }   
  127.   
  128. $comment = get_comment($comment_id);   
  129. if ( !$user->ID ) {   
  130.     $comment_cookie_lifetime = apply_filters('comment_cookie_lifetime', 30000000);   
  131.     setcookie('comment_author_' . COOKIEHASH, $comment->comment_author, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);   
  132.     setcookie('comment_author_email_' . COOKIEHASH, $comment->comment_author_email, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);   
  133.     setcookie('comment_author_url_' . COOKIEHASH, esc_url($comment->comment_author_url), time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);   
  134. }   
  135.   
  136. //$location = empty($_POST['redirect_to']) ? get_comment_link($comment_id) : $_POST['redirect_to'] . '#comment-' . $comment_id; //取消原有的刷新重定向   
  137. //$location = apply_filters('comment_post_redirect', $location, $comment);   
  138.   
  139. //wp_redirect($location);   
  140.   
  141. $comment_depth = 1;   //为评论的 class 属性准备的   
  142. $tmp_c = $comment;   
  143. while($tmp_c->comment_parent != 0){   
  144. $comment_depth++;   
  145. $tmp_c = get_comment($tmp_c->comment_parent);   
  146. }   
  147.   
  148. //以下是评论式样, 不含 "回复".    
  149. ?>   
  150.     <li <?php comment_class(); ?> id="li-comment-<?php comment_ID(); ?>">   
  151.         <div id="comment-<?php comment_ID(); ?>">   
  152.         <div class="comment-author">   
  153.             <div id="avatar"><?php echo get_avatar( $comment, 48 ); ?></div>   
  154.             <?php printf( __( '<cite class="fn">%s</cite> <span class="says">says:</span>'), get_comment_author_link() ); ?>   
  155.         </div>   
  156.         <div class="comment-meta commentmetadata">   
  157.             <a href="<?php echo esc_url( get_comment_link( $comment->comment_ID ) ); ?>"><?php printf( __( '%1$s at %2$s' ), get_comment_date(),  get_comment_time() ); ?></a><?php edit_comment_link( __( '(Edit)' ), ' ' ); ?>   
  158.             <?php if ( $comment->comment_approved == '0' ) : ?>   
  159.             <font color=Red>您的评论需要管理员审核...</font>   
  160.             <?php endif; ?>   
  161.     </div>   
  162.         <div class="comment-body"><?php comment_text(); ?></div>   
  163.     </div>  

目前有 10 条留言 其中:访客:10 条, 博主:0 条

  1. ACShiryu : 2012年04月26日21:29:46  1楼 @回复 回复

    请问一下,你的那个滑动解锁评论是怎样做到的?

    • 筑梦者 : 2012年04月27日08:55:21 @回复 回复

      用了一个叫“QapTcha”的jQuery Captcha系统,可以百度搜一下或者参考:http://awy.me/2011/05/to-add-qaptcha-validation-wordpress/或http://54yh.cc/qaptcha-wordpress-inove.html

      • ACShiryu : 2012年04月27日17:31:07 @回复 回复

        我依照那个方法做了,但滚动条没出来怎么办?

        • 筑梦者 : 2012年04月27日17:38:02 @回复 回复

          没出来滚动条有很可能的原因,如:图片路径、CSS样式被覆盖、js冲突、或者其他原因,看不到你那边是什么情况,没法具体判断呢?

          • ACShiryu : 2012年04月27日17:39:55

            我和你都使用的是这个主题,为什么你的出来了?

          • 筑梦者 : 2012年04月27日17:49:28

            我的自己修改过,你研究阅读一下http://awy.me/2011/05/to-add-qaptcha-validation-wordpress这里面的介绍,注意一下里面提到的需要注意的地方就会没问题的

          • 蓝风火火 : 2012年06月22日20:00:35

            各种悲剧,在qaptcha下载的调不出滑动条( 不懂CSS的悲剧),盗用你的CSS和图片,滑倒右边不能解锁。。。 :arrow:

          • 筑梦者 : 2012年06月23日19:58:37

            滑动到右边不能解锁应该是你的JS脚本没有修改好或者是与现有的Jquery等冲突

          • 蓝风火火 : 2012年06月24日20:45:22

            php中怎么比较2个中文字符串相等啊?搜索不到相关信息。。。因为鸟哥这个主题,如果评论框什么都不写,可以直接把“留言是种美德。。。”给发表出来,想写个判断排除掉。

          • 筑梦者 : 2012年06月25日08:49:03

             stristr()、strstr()、“==”、“===”等等吧你查查肯定能查到的。

筑梦者坚信,您的评论是最宝贵的!

(嘿嘿,只需要填写昵称和邮箱就OK)

留言无头像?

插入图片 留言不能超过500字,已输入字数: