首页 > WordPress > 如何给wordpress添加自定义公告栏

如何给wordpress添加自定义公告栏

经常去卢松松博客的朋友可以发现,卢松松博客里面的公告栏很有个性,偶然通过公告栏,可以给读者推荐一些新老文章,那么wordpress如何实现公告栏?经过摸索终于解决了这个问题,方法在后面会针对萧涵主题和非萧涵的wordpress主题展开。目前正在学习实现滚动公告栏的方法,完善后也会给大家带来。请继续关注秦天SEO博客。

萧涵主题添加公告栏的方法

说到公告栏,其实萧涵主题默认就有了这个功能,不过萧涵把这个公告栏给了wordpress的微博,如果你参考本文简单几步,WordPress搭建微博客,实现了wordpress的微博客功能,那么你会发现新发的微博文章会以公告栏的形式出现,这是wordpress系统自动实现的,并非人工自定义的。

下面我介绍萧涵主题如何自定义公告栏:

仔细观察萧涵主题的functions.php会发现有以下代码,这些代码是实现自定义侧边栏的广告位的代码,秦天SEO博客,目前还没有打算使用上广告,即使上广告,也会直接在相应位置修改,毕竟这样对网站速度更好些。

	
// showcase
if ($_POST['showcase_caption']) {
$options['showcase_caption'] = (bool)true;
} else {
$options['showcase_caption'] = (bool)false;
}
$options['showcase_title'] = stripslashes($_POST['showcase_title']);
$options['showcase_content'] = stripslashes($_POST['showcase_content']);
			

既然上面这段代码暂时用不到,何不让其变成我们的自定义的公告栏功能呢?把下面这段代码:

 

<div class="notice"><?php $options = get_option('xiaohan_options'); if ($options['showcase_content']) : ?>
			
<?php echo($options['showcase_content']); ?>
			
<?php endif; ?></div>

放到index.php里面,位置在<?php if(have_posts()) : while(have_posts()) : the_post(); ?>前面即可。同时删除sidebar.php里面的相应的代码。

其他wordpress主题添加公告栏方法

其他wordpress实现自定义公告栏的可以参考萧涵主题的functions.php,也可以参考neoease博客的为WordPress 主题添加管理选项,下面直接贴上代码,大家可以根据提示把这段代码添加到functions.php里面去。

<?php /** * 选项组类型 */ class ClassicOptions { /* -- 获取选项组 -- */ function getOptions() { // 在数据库中获取选项组 $options = get_option('classic_options'); // 如果数据库中不存在该选项组, 设定这些选项的默认值, 并将它们插入数据库 if (!is_array($options)) { $options['notice'] = false; $options['notice_content'] = ''; // TODO: 在这里追加其他选项 update_option('classic_options', $options); } // 返回选项组 return $options; } /* -- 初始化 -- */ function init() { // 如果是 POST 提交数据, 对数据进行限制, 并更新到数据库 if(isset($_POST['classic_save'])) { // 获取选项组, 因为有可能只修改部分选项, 所以先整个拿下来再进行更改 $options = ClassicOptions::getOptions(); // 数据限制 if ($_POST['notice']) { $options['notice'] = (bool)true; } else { $options['notice'] = (bool)false; } $options['notice_content'] = stripslashes($_POST['notice_content']); // TODO: 在这追加其他选项的限制处理 // 更新数据 update_option('classic_options', $options); // 否则, 重新获取选项组, 也就是对数据进行初始化 } else { ClassicOptions::getOptions(); } // 在后台 Design 页面追加一个标签页, 叫 Current Theme Options add_theme_page("Current Theme Options", "Current Theme Options", 'edit_themes', basename(__FILE__), array('ClassicOptions', 'display')); } /* -- 标签页 -- */ function display() { $options = ClassicOptions::getOptions(); ?> <form action="#" method="post" enctype="multipart/form-data" name="classic_form" id="classic_form"> <div class="wrap"> <h2><?php _e('Current Theme Options', 'classic'); ?></h2> <!-- --> <table class="form-table"> <tbody> <tr valign="top"> <th scope="row"> <?php _e('Notice', 'classic'); ?> <br/> <small style="font-weight:normal;"><?php _e('HTML enabled', 'classic') ?></small> </th> <td> <!-- 是否显示公告栏 --> <label> <input name="notice" type="checkbox" value="checkbox" <?php if($options['notice']) echo "checked='checked'"; ?> /> <?php _e('Show notice.', 'classic'); ?> </label> <br/> <!-- 公告栏内容 --> <label> <textarea name="notice_content" cols="50" rows="10" id="notice_content" style="width:98%;font-size:12px;" class="code"><?php echo($options['notice_content']); ?></textarea> </label> </td> </tr> </tbody> </table> <!-- TODO: 在这里追加其他选项内容 --> <!-- 提交按钮 --> <p class="submit"> <input type="submit" name="classic_save" value="<?php _e('Update Options &raquo;', 'classic'); ?>" /> </p> </div> </form> <?php } } /** * 登记初始化方法 */ add_action('admin_menu', array('ClassicOptions', 'init')); ?>

接下来,调用首页公告栏显示功能,方法和萧涵主题修改index.php一样, 我觉得萧涵主题里面的代码简单些,如果要修改,可以参照萧涵主题实现的方法。

<!-- 获取选项 --> <?php $options = get_option('classic_options'); ?> <!-- 如果用户选择显示公告栏, 并且公告栏有内容, 则显示出来 --> <?php if($options['notice'] && $options['notice_content']) : ?> <div id="notice"> <div class="content"><?php echo($options['notice_content']); ?></div> </div> <?php endif; ?>

自定义公告栏的使用方法

至此,已经实现了wordpress首页公告栏的功能,那么如何使用呢,只需要去后台主题设置里面输入要公告的内容即可,例如:<div class="t">秦天SEO欢迎您!<a href="http://feed.tsky.cc" rel="nofollow" target="_blank">点击订阅秦天SEO博客</a></div>。

注:后台是至此html代码的,所以可以尽情发挥!

还等什么,还不赶快通知大家,你实现了公告栏!

分享到:

文章作者:秦天SEO
本文地址:http://tsky.cc/post/how-to-add-custom-wordpress-bulletin.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!

47 Responses to “如何给wordpress添加自定义公告栏”

  1. 这个确实不错,不过wp有个自定义插件,可以在侧栏直接调用php函数。总之各有千秋吧

  2. 呵呵,我的尽管天也加上

  3. 这个需要了解下

  4. 如果搬家回来 肯定要在wp上折腾一下折耳根
    HOHO
    <<<<<试下代码

  5. 看代码似乎很复杂。asp还是挺方便折腾的。

  6. 好方法,我也去试试。

  7. 也很方便实现,有多种不同的方法

  8. wp增加一个项目确实要比zblog复杂些,不过正所谓,难者不会,会者不难。。

  9. 哎,主要是看见代码就晕,,

  10. 代码很长哈,先收藏,看哪天想加在加上去。

  11. 感谢啦,我的就是WP的。

  12. 好多代码哦!

  13. 本博客去除所有外链nofollow标签,每天12点准时更新,欢迎各位留言评论!

  14. 好复杂啊.不想去做!

  15. 有需要,可以来这里看看….呵呵….

  16. 十分感谢秦天的无私分享。

  17. 感觉默认的就可以了

  18. 原来可以这样加代码,我也去试试看。

  19. 我有个站用的萧涵的模板,正好有用

  20. 再次回访,顶起来
    本博客去除所有外链nofollow标签,每天12点准时更新,欢迎留言评论!

  21. 公告栏不错
    我的好像主题中自己就带有的。

  22. 这个功能好,收藏了

  23. 文章写的不错!

  24. 改天我也整一个

  25. http://www.qhjsjc.com 墙虹公司专业生产、销铝天花,蜂窝铝板,铝幕墙,铝单板;旗下品牌-期待您的加盟!

  26. 这个很有用,主题没集成的话用这个最好了。

  27. 谢谢分享!!!!

  28. 多谢秦天! 呵呵 我回家再折腾折腾! 最近想把无觅给去掉 哈哈 找到代码了 !

  29. 有价值的文章。让我受教了。谢谢

  30. 确实很实用,我用的就是这款主题啊

  31. 这个有空的折腾下看看。

  32. 萧寒的主题是自带有公告的吧

  33. 学习一下,早晚用得着

  34. 应该不错 早知道我也用wp的 不用zb了

  35. 有用,隔几天试试

此文章的评论已关闭.

吐槽排行

  • none data.