注:由于没有安装代码高亮插件,本文代码高亮效果采用发芽网转换为html代码
本文前半部分添加页面的方法参考了WordPress中文论坛里的一个老帖子,本文根据目前版本进行了修改,另外本人还介绍了一些附加的功能,诸如不用插件实现算术验证码,还有提醒一下如果你使用了某些插件诸如WP-postviews也要在这个页面中添加要求的代码才行。
PS:现在你看到的代码高亮效果已改为用插件
一:复制主题文件夹single.php并重命名为guestbook.php还放在里面
二:在guestbook.php最顶部添加如下代码
(用于下面的调用)
<?php /* Template Name: Guestbook */ ?>
三:删掉guestbook.php中的以下代码:
(原本是为了显示首页链接,文章分类,文章标题)
<div id="postpath"> <a title="<?php _e('Goto homepage', 'poetry'); ?>" href="<?php echo get_option('home'); ?>/"><?php _e('Home', 'poetry'); ?></a> > <?php the_category(', '); ?> > <?php the_title(); ?> </div>
和
(原本是为了显示文章的作者,分类,标签)
<p class="under"> <?php if ($options['author']) : ?><span class="author"><?php the_author_posts_link(); ?></span><?php endif; ?> <?php if ($options['categories']) : ?><span class="categories"><?php the_category(', '); ?></span><?php endif; ?> <?php if ($options['tags']) : ?><span class="tags"><?php the_tags('', ', ', ''); ?></span><?php endif; ?> </p>
和
(原本是为了显示文章发表时间)
<span class="date"><?php the_time(__('F jS, Y', 'poetry')) ?></span>
四:把guestbook.php中以下代码
<?php if (function_exists('wp_list_comments')) { comments_template('', true); } else { comments_template(); } ?>
替换成:
<?php comments_template('/guestcomments.php'); ?>
(为了调用下面制作的guestcomments.php)
五:复制主题文件夹下comment.php并重命名为guestcomments.php还放在里面
六:做一些后续处理:
(修改guestcomments.php文件,可以将文字提示等改一下)
(1)如果想把最新留言放在前面显示,就将guestcomments.php中的
foreach ($comments as $comment)
替换成
foreach (array_reverse($comments) as $comment)
(2)由于我是在留言前添加了算术验证码的,所以这里的guestcomments.php也要像原来的comments.php一样
作相应的修改。
我用的是poetry主题 ,在适当的位置添加代码,我是在提交按钮之前添加的,即查找:
<input name="submit" type="submit" id="submit"
在其紧接着的前面添加代码:
<?php if (!$user_ID) : ?> <?php $aaa=rand(0,5); $bbb=rand(3,9); ?><?php echo $aaa; ?>+<?php echo $bbb; ?>= <input type="text" name="subab" id="subab" size="2" tabindex="5" style="width:20px" /><?php if ($req) _e('(required)', 'poetry'); ?> <input name="aaa" value="<?php echo $aaa; ?>" type="hidden" /> <input name="bbb" value="<?php echo $bbb; ?>" type="hidden" /> <?php endif; ?>
当然喽WordPress添加验证码还要在wordpress网站根目录下wp-comments-post.php文件
if ( ” == $comment_content )
上一行添加如下代码
//boliquan_checkcode_start if ( !$user->ID ) { $aaa = trim($_POST[aaa]); $bbb = trim($_POST[bbb]); $subab = trim($_POST[subab]); if((($aaa+$bbb)!=$subab)|| empty($subab)){ wp_die( __('Error: Please enter the correct results of the math problems.') ); } } //boliquan_checkcode_end
我还改了留言框下面的“订阅评论”改为“订阅本站文章”
所以要将
<?php bloginfo('comments_rss2_url'); ?>
七:用管理员账号进入后台添加新页面,右边模板处下拉菜单选择Guestbook,然后这个页面就是一个可以自己修改的留言板。类似的你可以添加或修改成任何你想要的页面。
学习了,
@NianQing
呵呵~是挺麻烦的
试试(Ctrl+Enter)提交的感觉
@燕落无声
Ctrl+Enter没什么呀,爽的是Ajax评论~
@夜光
博主的这个评论是用Ajax做的吧,我们一般的评论做不到这样的效果,你是自己写的,还是安装的插件呢
@燕落无声
用代码加的~