WordPress添加留言板_解决WordPress某些主题页面无法评论问题

2010-09-10 | 夜光 | IT记录| 发表评论

注:由于没有安装代码高亮插件,本文代码高亮效果采用发芽网转换为html代码http://fayaa.com/code/new/,比较麻烦,先在上面那个网址选择代码类型贴好代码提交,点击“开关行号”来决定是否显示代码的行号,在右边选择背景颜色,然后点击“一键复制”后面的Html即可把代码转换为Html代码从而在WordPress中Html编辑器下贴处代码,注意复制装换好的代码时,要去掉第一段(是代码存在发芽网的广告)诸如:

<div style="background:#fdfdfd;color:black;"><u>PHP语言</u>: <a href="http://fayaa.com/code/view/13512/">Codee#13512</a></div>

本文前半部分添加页面的方法参考了WordPress中文论坛里的一个老帖子,本文根据目前版本进行了修改,另外本人还介绍了一些附加的功能,诸如不用插件实现算术验证码,还有提醒一下如果你使用了某些插件诸如WP-postviews也要在这个页面中添加要求的代码才行。

PS:现在你看到的代码高亮效果已改为用wp-code-highlight插件

一:复制主题文件夹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>
&gt; <?php the_category(', '); ?>
&gt; <?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'); ?>

改为http://feed.boliquan.com/还可以添加target=”_blank”
将“Subscribe to comments feed”改为“订阅本站文章”,然后保存为utf-8编码

七:用管理员账号进入后台添加新页面,右边模板处下拉菜单选择Guestbook,然后这个页面就是一个可以自己修改的留言板。类似的你可以添加或修改成任何你想要的页面。

本文标签:
本文链接: http://boliquan.com/wordpress-guestbook-page-comment/
版权所有: 玻璃泉, 转载请注明本文出处。

15个评论

  1. @NianQing
    呵呵~是挺麻烦的

  2. 试试(Ctrl+Enter)提交的感觉 :grin: :mrgreen: :roll:

评论分页: 1 2

发表评论

您的昵称 *

您的邮箱 *

您的网站

icon_wink.gif icon_neutral.gif icon_mad.gif icon_twisted.gif icon_smile.gif icon_eek.gif icon_sad.gif icon_rolleyes.gif icon_razz.gif icon_redface.gif icon_surprised.gif icon_mrgreen.gif icon_lol.gif icon_idea.gif icon_biggrin.gif icon_evil.gif icon_cry.gif icon_cool.gif icon_arrow.gif icon_confused.gif icon_question.gif icon_exclaim.gif

Protected by WP Anti Spam