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

09-10 | 夜光 | IT记录

注:由于没有安装代码高亮插件,本文代码高亮效果采用发芽网转换为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,然后这个页面就是一个可以自己修改的留言板。类似的你可以添加或修改成任何你想要的页面。

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

14个评论

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

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