正在加载...
您当前位于: 首页 >> 干货分享

wordpress小工具中RSS widget的更新频率

in 干货分享 | 没有评论

wordpress的边栏小工具中有一个名叫RSS,支持将其他网站的内容订阅到自己的博客。但是这个小工具有一个问题,就是刷新率不可调节,对于一些更新频繁的网站,订阅内容不能够即时显示。本人的博客就是用了这款小工具来订阅我的微博来更新状态,由于微博更新较频繁,而RSS工具的刷新频率过低,导致今天的状态第二天才能够显示。本篇文章介绍一种方法,可以通过编辑wordpress主题文件来调节RSS工具的刷新频率。

方法非常简单,将博客所用的主题文件打开,找到function.php(functions.php),然后在其中加上如下代码:

add_filter( ‘wp_feed_cache_transient_lifetime’,  create_function(‘$a’, ‘return 600;’) );

其中600就是新设置的更新时间,单位为秒,可以自己来定义。

那么这段代码是什么含义呢?

其中add_filter函数是wordpress的一个内部函数。通过该函数可以实现如下功能,在wordpress的核心进程和指定函数之间建立一个“hook”,并在“hook”成立时执行指定函数。add_filter函数接受两个变量,其中“’wp_feed_cache_transient_lifetime”就是上面提到的hook(我的理解,也就是wordpress核心进程中的一个变量,用于判断是否执行指定的函数,或者将函数的值返回给它,相当于指定函数同核心进程之间的一个“关联”也就是“hook”);“create_function(‘$a’, ‘return 600;’)”就是指定的函数,这个函数的含义是创建一个函数,返回RSS widge的刷新时间。

真个过程是这样的,add_filter函数判断核心进程心中“wp_feed_cache_transient_lifetime”变量的出现,然后在进程中创建一个函数,返回600秒,赋到“wp_feed_cache_transient_lifetime”中。

按照这种方法,用户就可以指定RSS的刷新频率了!

(附:原英文文章链接Increase the WordPress RSS Widget Refresh Rate

本文转自:http://www.antizen.org/2011-01/%E6%94%B9%E5%8F%98wordpress%E5%B0%8F%E5%B7%A5%E5%85%B7%E4%B8%ADrss-widget%E7%9A%84%E6%9B%B4%E6%96%B0%E9%A2%91%E7%8E%87/

关键字:

discuz x2静态化优化修改记录

in 干货分享 | 没有评论

discuz x2优化修改记录

我第一次用discuz是从7.0开始的,到现在discuz X2了,虽然越来越强大,但是还是有自己不喜欢的地方,比如url地址重复(通病吗?所知的几个版本都有这个缺点),所以个别地方还是得自己动手修改,下面记录一下,会陆续发布。

一、discuz x2论坛首页“最后发表”帖子链接静态化

现在还没有找到完美的解决方法,不过通过这样做还是基本实现我想要的形式,有两种方法,各有各的不足。
方法1、/source/module/forum/ 下的forum_redirect.php

dheader(‘Location: forum.php?mod=viewthread&tid=’.$_G['tid'].$pageadd.’#lastpost’);
换成
header("HTTP/1.1 301 Moved Permanently");
dheader(‘Location:thread-’.$_G['tid'].’-’.$page.’-1.html#lastpost’);

虽然首页显示是动态地址,但是点击就会301跳转到静态页,这个方法是定死的,取消了伪静态设置还是会跳转到这个伪静态地址,所以一定开启了伪静态而且必须是系统默认的方式,才可以这样修改 

方法2、这个方法是直接修改模板discuz.htm中的
forum.php?mod=redirect&tid=$forum[lastpost][tid]&goto=lastpost#lastpost
换成
forum.php?mod=viewthread&tid=$forum[lastpost][tid]
一共有三处
这个方法可是完美支持自动判断网站是伪静态还是动态,不足之处是点击不会跳转到最后回复的帖子,只会跳转到最后回复的主题。

二、discuz x2“上一主题、下一主题”链接静态化

在discuz x2帖子内容页里会有“上一主题、下一主题”的图片箭头链接,默认是动态的,目前同“最后发表”帖子链接静态化的一样,没有非常完美的解决方法,不过可以实现点击后301跳转到静态地址。
修改/source/module/forum/ 下的forum_redirect.php,把
dheader("Location: forum.php?mod=viewthread&tid=$next");
换成
header("HTTP/1.1 301 Moved Permanently");
dheader('Location:thread-'.$next.'-1-1.html');

再次提醒:采用此方法,虽然显示的是动态地址,但是点击就会301跳转到静态页,这个方法是定死的,取消了伪静态设置还是会跳转到这个伪静态地址,所以一定开启了伪静态而且必须是系统默认的方式,才可以这样修改。

三、Discuz X2.0论坛帖“复制链接”伪静态实现方法

打开 /template/default/forum/viewthread.htm 在大约200行左右找到以下代码:
forum.php?mod=viewthread&tid=$_G[tid]$fromuid
换成
forum.php?mod=viewthread&tid=$_G[tid]
就可以了 

四、discuz x2帖子列表页默认打开修改为新窗口打开

discuz x2帖子列表默认打开是本窗口打开的,不符合国内用户使用习惯,最正规的修改如下面两个步骤:
1: 根目录/static/js/forum.js
找到 atarget函数
改成
function atarget(obj) {
obj.target = getcookie('atarget') ?  '': '_blank';
}

2:把‘打开新窗口’改成‘本窗口打开’    修改如下:
根目录/template/default/forum/forumdisplay_list.html文件中:
找到
<span id="atarget" {if !empty($_G['cookie']['atarget'])}onclick="setatarget(0)"{else}onclick="setatarget(1)"{/if} title="{lang new_window_thread}">{lang new_window}</span>用下边的替换即可
<span id="atarget" {if !empty($_G['cookie']['atarget'])}onclick="setatarget(0)"{else}onclick="setatarget(1)"{/if} title="本窗口打开帖子">本窗口</span>

五、discuz x2 rss输出链接的静态化

今天(2011-12-11)又发现一个discuz x2 url地址不规范的地方,就是rss的地址不能自动判断网站设置的是静态还是动态,一律会输出动态的样式,那对于开启了伪静态的朋友来说是个很不好的地方,如何将rss输出结果变成静态化呢,下面是具体修改步骤:

打开source/module/forum/forum_rss.php

1、论坛首页URL标准化:如果不需要标准的人不用修改

<link>{$_G[siteurl]}forum.php</link>
改为
<link>{$_G[siteurl]}</link>

2、主题列表页URL伪静态:把
<link>{$_G[siteurl]}forum.php?mod=forumdisplay&amp;fid=$rssfid</link>
改为
<link>$_G[siteurl]forum-$forum[fid]-1.html</link>

3、帖子内容页URL伪静态:把
<link>$_G[siteurl]forum.php?mod=viewthread&amp;tid=$thread[tid]</link>
改为
<link>$_G[siteurl]thread-$thread[tid]-1-1.html</link>

六、discuz x2 帖子链接统一(帖子链接唯一化)

开启了伪静态的帖子链接是这样的形式:thread-x-y-z.html,其中x是帖子的id(固定不变的),y是帖子的页数(也是固定的),z是帖子所在列表页的页数(这个是变化的,随着帖子回复或者新帖的加入,所处位置就会变化),如何让z不变呢,可能通过修改template/default/forum/forumdisplay_list.htm解决,修改后虽然帖子的url统一了,但是在帖子页里点击“返回列表”,返回的是列表第一页而不是帖子所在的列表页。 

找到
<a href="forum.php?mod=viewthread&tid=$thread[tid]&{if $_G['gp_archiveid']}archiveid={$_G['gp_archiveid']}&{/if}extra=$extra"$thread[highlight]{if $thread['isgroup'] == 1 || $thread['forumstick']} target="_blank"{else} onclick="atarget(this)"{/if} >$thread[subject]</a>
修改为
<a href="forum.php?mod=viewthread&tid=$thread[tid]" $thread[highlight]{if $thread['isgroup'] == 1} target="_blank"{/if} onclick="atarget(this)">$thread[subject]</a>

关键字:

小小木鱼:做好博客定位,让博客成交率增倍

in 干货分享 | 没有评论

(本文章由小小木鱼在屠龙团队精英论坛首发:http://club.tulongteam.com/thread-1627-1-1.html

写这篇文章的时候很犹豫……,我很怀疑我自己的判断。标题有点狂,年轻人嘛,请多包涵。
因为:1、我给老大留言,不知是老大没看见还是怎么的,没有回复我。
2、我给修罗说,修罗说我想法有问题,说我懂个P(当然我不是在怪修罗,因为如果没有人和你争论,你错了,都不知道是怎么错的。)。
3、我没有做博客系统,所以我写不写出来和我关系不大。
但,我是屠龙团队的人,所以最后,几经纠结,我还是写出来吧,不管对不对,自己去参考,你要有自己的脑袋。

千万别走开,广告也精彩

完整内容…

关键字: