升级WordPress 2.3

需要注意的地方主要是Tag相关的功能

1、升级前首先停用之前使用的Ultimate Tag Warrior,然后覆盖文件,进入后台时会自动提示升级数据库
2、安装花儿的插件Tag Converter for UTW,转换UTW的Tag数据
2、推荐使用自带的导入功能,Manage-Import
3、调用显示

  1. //输出日志标签
  2. <?php the_tags('标签前缀:', '分隔符', '', ''); ?>//后面两个参数没试
  3. //输出标签云
  4. <?php wp_tag_cloud(); ?>

更详细的使用说明参考原文
4、由于2.3取消了wp_post2cat表,部分插件可能会无法使用

另外2.3的插件更新提醒功能很好、很强大

标签:, ,

相关日志

Google Reader中文版上线

一觉睡醒,Google Reader的标题就赫然变成了Google 阅读器

另外更新的还有Mozilla Firefox 2.0.0.7

标签:, , ,

相关日志

BBS之怪现象

常泡水母,看的帖子越多有时候越觉得没意思。
但凡随便一个有点争议的帖子,必然发展成论战帖,言辞尖锐,很没意思。

是个问题都要争个子丑寅卯,最傻逼的就是一坨人各执自己的意见,然后试图把自己的意见强加给对方,对于不认同自己意见的就要经常就恶语相向。
当然水木是高级论坛,里面动辄博士研究生的,文明人,骂人是不用脏字的,但是比脏字更容易挑起事端,于是演变成大论战帖,凡此种种,每天都能看见很多。这种现象在所谓技术版面尤其突出,大家都觉得自己最牛逼,谁也瞧不起谁,比起cnbeta和sina的评论,这点更让人痛心。

还有动辄上纲上线的,举个拼音输入法选择的例子,我就不小心多说了一句,立马招来了这样的回复

发信人: tangly (leaf flying off my hand), 信区: PinYin
标 题: Re: google输入法真TM好用
发信站: 水木社区 (Fri Sep 14 08:28:15 2007), 站内

外国已经有了先进的,中国的同类产品还很差,所以在中国产品超过外国之前都不要用
中国货?

【 在 Sunshow (自作虐 不可活) 的大作中提到: 】
: 只用好用的 有什么错

真是相当Orz,一下子就上升到如此高度,于是我只好赶紧闪人,惹不起还躲不起么我

现在我爱上了潜水

兼容IE和FireFox的间隔滚动代码

网上按这个标题搜索能搜到一大坨,其实没一个好用的,可见网上文章一大抄。
自己改了改,调用方式参考例子,能适应一个页面内的多个不同的滚动。

调用应该挺简单的,可能稍微麻烦点的就是需要设置一下CSS

提示:你可以先修改部分代码再运行。

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>兼容IE和FireFox的间隔滚动代码</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  6. <style type="text/css">
  7. <!--
  8. .scrolldiv {
  9.     overflow: hidden;
  10.     width: 600px;
  11.     height: 18px;
  12.     background: #E8F8F8;
  13.     padding: 0 10px;
  14. }
  15. .scrollmessage {
  16.     text-align: left;
  17. }
  18.  
  19. .scrollmessage ul {
  20.     margin: 0px;
  21.     padding: 0px;
  22.     list-style: none;
  23. }
  24.  
  25. .scrollmessage li {
  26.     height: 18px;
  27.     line-height: 18px;
  28. }
  29. -->
  30. </style>
  31. </head>
  32. <body>
  33.  
  34. <div id="scroll1" class="scrolldiv">
  35. <div class="scrollmessage">
  36.   <ul>
  37.     <li><a href="#">11111111111111111!</a></li>
  38.     <li><a href="#">22222222222222222!</a></li>
  39.     <li><a href="#">33333333333333333!</a></li>
  40.     <li><a href="#">44444444444444444!</a></li>
  41.   </ul>
  42. </div>
  43. </div>
  44.  
  45. <div id="scroll2" class="scrolldiv">
  46. <div class="scrollmessage">
  47.   <ul>
  48.     <li><a href="#">11111111111111111!</a></li>
  49.     <li><a href="#">22222222222222222!</a></li>
  50.     <li><a href="#">33333333333333333!</a></li>
  51.     <li><a href="#">44444444444444444!</a></li>
  52.   </ul>
  53. </div>
  54. </div>
  55.  
  56. <script language="JavaScript">
  57. <!--
  58.  
  59. function scrollObject(marqueesHeight, elemId) {
  60.     var stopscroll = false;
  61.  
  62.     var scrollElem = document.getElementById(elemId);
  63.     with (scrollElem) {
  64.         style.height    = marqueesHeight;
  65.         style.overflow  = 'hidden';
  66.         noWrap          = true;
  67.     }
  68.  
  69.     scrollElem.onmouseover = function() {
  70.         stopscroll = true;
  71.     }
  72.     scrollElem.onmouseout = function() {
  73.         stopscroll = false;
  74.     }
  75.  
  76.     var divs = scrollElem.getElementsByTagName('div');
  77.     var scrollmessage1;
  78.     var scrollmessage2;
  79.     if (divs.length > 0) {
  80.         scrollmessage1 = divs[0];
  81.         scrollmessage2 = scrollmessage1.cloneNode(true)
  82.         scrollElem.appendChild(scrollmessage2);
  83.     }
  84.  
  85.     var currentTop = 0;
  86.     var stoptime   = 0;
  87.     var delaytime  = 120;
  88.  
  89.     function init_srolltext() {
  90.         scrollElem.scrollTop = 0;       
  91.     }
  92.  
  93.     this.start = function(s, delay) {
  94.         init_srolltext();
  95.         setDelay(delay);
  96.         setInterval(s + '.scrollUp()', 10);
  97.     }
  98.  
  99.     function setDelay(delay) {
  100.         if (delay > 0) {
  101.             delaytime = delay;
  102.         }
  103.     }
  104.     
  105.     this.scrollUp = function() {
  106.         if (stopscroll) {
  107.             return;
  108.         }
  109.        
  110.         currentTop ++;
  111.         if (currentTop == marqueesHeight + 1) {    //控制停留时间
  112.             stoptime ++;
  113.             currentTop --;
  114.             if(stoptime == delaytime) {
  115.                 currentTop = 0;
  116.                 stoptime = 0;
  117.             }
  118.         } else {
  119.             if (scrollmessage2.offsetHeight - scrollElem.scrollTop <= 0) {
  120.                 scrollElem.scrollTop -= scrollmessage1.offsetHeight;
  121.                 scrollElem.scrollTop ++ ;
  122.             }
  123.             else{
  124.                 scrollElem.scrollTop ++;
  125.             }
  126.         }
  127.     }
  128. }
  129.  
  130. var scroll1 = new scrollObject(18, 'scroll1');
  131. scroll1.start('scroll1', 50); //停留间隔
  132.  
  133. var scroll2 = new scrollObject(18, 'scroll2');
  134. scroll2.start('scroll2');
  135.  
  136. //-->
  137. </script>
  138.  
  139. </body>
  140. </html>
标签:, , , ,

相关日志

[推荐]SMPlayer for Windows

一个漂亮的MPlayer外壳,最早好像只有Linux下的版本
现在有了Windows版本,嫌MPlayer界面简陋的可以尝试这个了
下载地址的安装包中已经包含了完整的MPlayer,直接下载安装即可

SMPlayer

项目主页:http://smplayer.sourceforge.net/en/index.php
下载:http://downloads.sourceforge.net/smplayer/smplayer_0.5.51_full_setup.exe

标签:,

相关日志

京ICP备05059555号