Twenty Twelve 子主题的 Comment Form 近乎原装的替换代码

因为“胜利之Y”启用的缘分结识了两位资深博友:大发兄和坛子兄。缘分的开始却是大发兄留言吐槽Twenty Twelve 默认评论框的样式太挫建议我修改下。囧,评论框的样式我几次改主题都没太修改,我倒觉得它很简单也很耐看。不常识特色的“重酬错字”和“颜文字”也令评论框低调地活泼……?

Twenty Twelve 默认找不到地方修改评论框,即不能添加“重酬错字”和“颜文字”,这个问题两年前修改 Twenty Ten 也出现过,当时找到资料修改好,也写出来分享了:《“Twenty Ten”中加入Comment Form代码》。这次改 Twenty Twelve 原样套了那些代码,竟然还能用,当然有点小bug,主要是一些标签的命名和系统默认不同,所以css样式控制不到,我细细对照系统自带的评论框修改个别代码,出来的结果几乎和原装一样。

不知道有没有人需要,还是分享出来吧,毕竟自己也花了不少功夫修改,即便只有一个人需要也是帮到一个人。

如果您需要改本文的代码,我默认您已经知道Twenty Twelve 的子主题是什么并且要怎样改,我就不多讲“前奏”。请把comments.php复制到子主题文件夹。

找到<?php comment_form(); ?>,差不多在第60行。把这句代码改成以下所有代码:

<div id=”respond”>

<h3 id=”reply-title”><?php comment_form_title( ‘Leave a Reply’, ‘Leave a Reply to %s’ ); ?></h3>

<small><?php cancel_comment_reply_link( ‘Cancel reply’ ); ?></small>

<?php if ( get_option(‘comment_registration’) && !$user_ID ) : ?>
<p>You must be <a href=”<?php echo get_option(‘siteurl’); ?>/wp-login.php?redirect_to=<?php echo urlencode(get_permalink()); ?>”>logged in</a> to post a comment.</p>
<?php else : ?>

<form action=”<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php” method=”post” id=”commentform”>

<?php if ( $user_ID ) : ?>

<p>Logged in as <a href=”<?php echo get_option(‘siteurl’); ?>/wp-admin/profile.php”><?php echo $user_identity; ?></a>. <a href=”<?php echo wp_logout_url(get_permalink()); ?>” title=”Log out of this account”>Log out &raquo;</a></p>

<?php else : ?>

<p><?php _e( ‘Your email address will not be published.’, ‘twentytwelvechild’ ) ?> <?php if ($req) _e( ‘Required fields are marked <span>*</span>’, ‘twentytwelvechild’ ) ?></p>

<p><label for=”author”><?php _e( ‘Name’, ‘twentytwelvechild’ ) ?> <?php if ($req) _e( ‘<span>*</span>’, ‘twentytwelvechild’ ) ?></label>

<input id=”author” name=”author” type=”text” value=”<?php echo $comment_author ?>” size=”30″ maxlength=”50″ tabindex=”3″ /></p>

<p><label for=”email”><?php _e( ‘Email’, ‘twentytwelvechild’ ) ?> <?php if ($req) _e( ‘<span>*</span>’, ‘twentytwelvechild’ ) ?></label>

<input id=”email” name=”email” type=”text” value=”<?php echo $comment_author_email ?>” size=”30″ maxlength=”50″ tabindex=”4″ /></p>

<p><label for=”url”><?php _e( ‘Website’, ‘twentytwelvechild’ ) ?></label>

<input id=”url” name=”url” type=”text” value=”<?php echo $comment_author_url ?>” size=”30″ maxlength=”50″ tabindex=”5″ /></p>

<?php endif; ?>

<p><label><?php _e( ‘Comment’, ‘twentytwelvechild’ ) ?></label>

<textarea id=”comment” name=”comment” cols=”45″ rows=”8″ aria-required=”true”></textarea></p>

<p><input id=”submit” name=”submit” type=”submit” value=”<?php _e( ‘Post Comment’, ‘twentytwelvechild’ ) ?>” tabindex=”7″ /><input type=”hidden” name=”comment_post_ID” value=”<?php echo $id ?>” /></p>

<?php comment_id_fields(); ?>
</p>
<?php do_action(‘comment_form’, $post->ID); ?>

</form>

<?php endif; // If registration required and not logged in ?>
</div>
<?php endif; // if you delete this the sky will fall on your head ?>

隐约记得两年前在某在线高亮代码网站处理过代码再贴,贴出来五颜六色很好看,这次稍找过,几个网站代码颜色高亮出来不好看,索性不要颜色,观众请凑合着看。

修改过程我还留意到个小细节:在ie下,如果按下回复评论的按钮,评论框和整个页面会向上“跳过头”,但换上上面的代码后就是自然正常的幅度。

顺便饭后水果……

依然还是大发兄的建议:修改网站字体。字体问题我注意到,但之前改来改去中文都一样,就选了英文好看的字体。得大发兄提点,改成了雅黑字体,所以不常识气场也“雅”了一点?

方法很简单,在子主题的style.css加上下面代码就可:

body.custom-font-enabled{
font-family:”Hiragino Sans GB”, Microsoft YaHei, WenQuanYi Micro Hei;
}

以上。博主连技术小牛也讲不上,顶多算小白兔而已。如果代码有误或者有更高明的写法,请大牛们不吝赐教,谢谢!

6 Thoughts

  1. david

    这评论框好像是不大一样了,不过之前那个也没什么不好,看着都简单实用

    1. Snowyy Post author

      这次的评论框和之前的基本一样,稍为宽了一丁点。删了一个不太用到的表情而有增加了另一个表情。

        1. Snowyy Post author

          啊,学生阶段最后一个小长假?不过对你而言工作后有假期也会奔出去?你的工作是放假很准时那种。~~(°°;))))

          突然题外话,系统自动生成的头像,你那个黄色花纹好好看。系统知道是你女生所以优待?(ノ-o-)ノ

Comments are closed.