WordPress评论实现另类公告栏

2012.6.11 更新:现在来访朋友可以对公告进行回复了。

有点时间发呆,在闲逛时看到一些博客有公告栏,突然想给现在的主题加上。想想我以前的 zSnos 主题就有公告栏(当时我命名为唠叨栏),那时是直接给主题写了个专门写公告的后台。

正准备给 zBorder-pro 加公告栏,头脑一闪,为何不用 WordPress 的评论来作为公告栏内容呢?发公告就像发一条评论,不是很简单嘛。立即动手,下面是方法,有兴趣的朋友跟我瞎折腾吧。

1. 建立一个页面,设为“私密”(就是访客无法访问该页面),什么名随意,主要要记住该页面的 ID(如何看页面ID?很简单,你新建页面时注意浏览器的地址栏,有这段“post.php?post=25524&action=edit”,那个 post=25524 中的 25524 就是,哈。又或者建立好页面后,在页面列表那里,鼠标停留在此页面的“编辑”按钮看浏览器地址栏也能找到类似 post=xxxx),另外注意要允许评论。(PS:有些主题的页面是木有加评论功能,自己想办法修改主题或者用文章来代替)

2. 然后把下面的代码扔到你的公告栏位置,如侧边栏(sidebar.php)顶端

<?php
/* 使用WP评论作为公告栏 by zwwooooo | zww.me */
$page_ID=25524; //填写页面ID ?>
<div class="widget">
	<h3>公告栏</h3>
	<div>
		<?php
		$comments = get_comments("number=1&post_id=$page_ID");
		$announcement = $comments[0]->comment_content;
		if ($announcement) echo $announcement; else echo '欢迎光临本博!';
		?>
		<?php if ($user_ID) echo ' [<a href="' . get_page_link($page_ID) . '#respond" rel="nofollow" class="anno">发表公告</a>]'; ?>
	</div>
</div>

2012.06.01 22:50 代码升级:支持显示最近 n 条公告

<?php
/* 使用WP评论作为公告栏 by zwwooooo | zww.me */
////参数设定
$page_ID=25111; //用来作为公告栏的页面或者文章id
$num=2; //显示公告的条数
?>
<h3>公告栏</h3>
<ul>
	<?php
	$announcement = '';
	$comments = get_comments("number=$num&post_id=$page_ID");
	if ( !empty($comments) ) {
		foreach ($comments as $comment) {
			$announcement .= '<li>'. convert_smilies($comment->comment_content) . ' <span style="color:#999;">(' . get_comment_date('Y/m/d H:i',$comment->comment_ID) . ')</span></li>';
		}
	}
	if ( empty($announcement) ) $announcement = '<li>欢迎光临本博!</li>';
	echo $announcement;
	?>
</ul>
<?php if ($user_ID) echo '<p style="text-align:right;">[<a href="' . get_page_link($page_ID) . '#respond" rel="nofollow" class="anno">发表公告</a>]</p>'; ?>

3. 样式?自己写吧,不写也可以

4. 效果图(我的稍微不同,我去掉了“公告栏”标题)

访客看到的

120601-announcement-1

博主自己:有此“私密”页面的评论链接

120601-announcement-2

折腾玩(完)。

各位盆友,节日快乐!哈哈哈……

zww
or
oooo

“WordPress评论实现另类公告栏”有181条评论

  1. llbxwj says:

    哥们,为啥我的加上了显示乱码?你代码中的英文都是乱码。

  2. llbxwj says:

    哦,已经搞定原来是编码错了。

    1. zwwooooo says:

      @llbxwj
      所以说先自己耐心找找原因,哈

  3. [...] 这是Z大提供的方法WordPress评论实现另类公告栏 大家可以看看是如何实现的 [...]

  4. Mr Simon Lau says:

    哈哈。。我也想加上,可惜我的page 被主题限制了评论。。商业主题。
    能用post么? z哥?

    1. zwwooooo says:

      @Mr Simon Lau
      page也可以post的,自己根据single.php改。

  5. [...] 公告栏是Z大提供的方法:wordPress评论实现另类公告栏,有兴趣的朋友可以看看是如何实现的。该主题黑白结合,融入了缩略图片视觉效果是很漂亮的。近期将更具网友投广告的意向进行主题发布调整,相信会有更多的wordpress展现给大家。 wordpress淘宝CMS主题:黑白配色weisay simple修改版 [...]

  6. 大师,加点JS效果吧,让他滚动显示

    1. zwwooooo says:

      @80后男人
      以前滚了那么久了,就不让它滚了。

  7. 博主有没有卢松松那样的公告栏,最好是插件类型的!

    1. zwwooooo says:

      @我的名字叫麒
      不知道卢松松的公告栏是怎样的,为何不直接向他要呢?况且我喜欢我自己的,哈。

    2. 就是在网站最上面有一个高不到50的通栏样子的一句话。他的是Z-Blog,我的是wordpress

    3. zwwooooo says:

      @我的名字叫麒
      自己随便找个WP插件就能实现,别忘了WP插件数不胜数。

  8. [...] 原文链接:http://zww.me/archives/25656 目前有14条回应 Comment Trackback luacloud 回应于2012/06/18 14:46 回复TA [...]

  9. [...] 刚才在ZWWW.ME看到一个好东西,留着备用,博主原文如下: [...]

  10. TekTea says:

    我已经用起了,呵呵,多谢zww。。。

    1. zwwooooo says:

      @TekTea
      慢慢折腾(玩)

    2. TekTea says:

      @zwwooooo
      发现个问题,这个公告其他“作者”身份的会员点击发布后提示“很抱歉,没有找到你要的内容”,这是啥问题呢?

    3. zwwooooo says:

      @TekTea
      注意权限

  11. 胡敏 says:

    get_comments();最好能加个user_id字段,这样控制输出的都是自己想要的id的评论或留言。

    1. zwwooooo says:

      @胡敏
      根据需要自己加参数吧。

  12. Newer_plus更新记。 | 大发贱志 says:

    [...] 获取页面ID号 编辑sidebar.php和sidebar-single.php,把里面的ID号变成你自己的。 [...]

  13. [...] 添加公告栏:http://zww.me/archives/25656 [...]

  14. 落梵 says:

    大大,我想要弄成跟你一样,别人可以评论,但是在公告栏只显示出我自己的,该怎么弄?拜谢……

    1. zwwooooo says:

      @落梵
      文中写了,主评论发表可以用css隐藏窗口实现,我的方法麻烦点,不通用。

    2. 落梵 says:

      @zwwooooo
      都是瞎折腾的,不会php、也不会CSS :???:

    3. zwwooooo says:

      @落梵
      这……我也没办法

  15. Cyan says:

    好生猛啊!创意啊创意!

    1. zwwooooo says:

      @Cyan
      玩玩呗,哈

  16. 折子戏 says:

    Z神啊,我还是没搞明白这个公告是怎么个情况?这个公告是单页么?每次自己打开公告页面,手工添加代码,一条一条输入?

    我发布公告还是和发布文章一样,只不过文章形式上要选择公告?要不然我怎么一条一条的调用出来?

    1. zwwooooo says:

      @折子戏
      1. 建个页面,设问私密
      2. 在侧边栏放我文章的代码调用此页面的评论
      博主要发公告就去那个页面(只有博主能访问)

  17. 怎么自动获取当前页面ID,我的是自定义单页面。。

  18. 子非我 says:

    加入滚动效果就更完美了~

    1. zwwooooo says:

      @子非我
      滚动嘛,其实很简单吧,我以前也写过这类教程,只是我自己现在不用了

  19. Zorro says:

    为什么显示的会是post的评论啊,明明一样的代码啊。

  20. Zorro says:

    单条显示的就是page,多条就是post,不知道为什么。

    1. zwwooooo says:

      @Zorro
      你指定id号就行了,其实post和page只是细小区别

发表评论

昵称 *

网址

B em del U Link Code Quote