- FeedBurner 是一个很好的 Rss Feed 托管服务,它能让你详细获悉 Feed 的订阅情况,可是大概是因为 FeedBurner 成了消息快捷传播的通道,让某些人谎了神,而被伟大的墙禁了。针对我们的中文网站多数读者是中文语言的,所以 FeedBurner 这条路是走不太通了,只得找个替代品。
Google 上搜索了下,国内有个 FeedSky 做了类似的事情,比起 FeedBurner 可能还没那么专业,或者能很好的适应中国国情。于是我到 FeedSky 上申请了自己的 Feed: http://feed.feedsky.com/unmi。如果用户是通过这个Feed 的代理来的,我们可以在 FeedSky 上了解到我们网站的 Rss 的阅读订阅情况 。 Read More - 做了个站点,一下想随时了解站点被访问的情况,或者进行 SEO。比如用 Google-Analytics, 也可能用了其他的站点统计服务,那就要求在页面中植入一段 JS 代码,如果每次有新需求都打开主题的 footer.php 文件来改就有点麻烦些。也存在往 header.php 中加入些信息的情况,比如 meta, css, js 等, 如果有个插件统一来管理有容易得多,省得直接改文件。
去 WordPress 中搜索 Footer 就能看到一些解决此问题的插件,有好几个。类似的东西多了也好让人眼花的,就像商场里买东西,太多的选择反而使人犹豫不决。我找了下,有以下几个插件: Read More - 以前弄 Joomla,现在是纠结在 WordPress 上了。写的日志,想清楚的知道每篇日志受关注的程序,即点击/阅读数,不知道有些主题里是否能支持该功能, 反正我所用的主题是没有的,所以又需要安装一个插件在每篇日志下方显示该日志被阅读的次数。
我找到了 WP-PostViews, 相关的还有 WP-PostViews Plus, WP-PostViews Plus widget。 许多东西,总是别人会搞些 Plus, Enhanced, Extended 或是 Yet Another 系列。一般来说都会比原始版本要好些,但这里我还是不细究 WP-PostViews Plus 了, 而 WP-PostViews Plus widget 是基于 WP-PostViews Plus 的 Widget。这里介绍下 WP-PostView 的安装与使用。
下载、安装、选项设置都还简单,关键是它被启用之后,不能马上见到效果,还需要改改你所用主题目录中的几个文件。看看我的站点上应用了它之后的效果:
Read More - 在 WordPress 中可以设置每天显示的日志数,并以上一篇、下一篇的链接进行导航。但是日志多了,一个是不能快速跳到哪几篇来浏览,还有就是别人对你有多少篇也没底。所以需要一个分页导航的插件,网上一找就看到了 WP-PageNavi 比较受推崇,而 WP-PageNavi-LightWord 只是 WP-PageNavi 针对 LightWord 主题的一个改造版,仅仅是自定义了下样式,其他如选项、代码几乎一样,由于它们使用了同样的函数,所以不能同时被激活。可以先看看它们界面上的一些区别:
WP-PageNavi 的界面截图:
WP-PageNavi-LightWord 的界面截图:
Read More - 原来曾经都是用代码或是像 Velocity 样的模板来转换生成 XML的,自从接触了 XSLT 后,已把它当成了 XML 到其他许多数据格式的不二之选了。有时候因为特殊字符等因素,需要转换后的数据在新节点中用 <![CDATA[...]]> 包裹起来更好看且不易出错,或者还需对生成的 XML 进一步处理时,用 <![[CDATA[...]]> 会更保险些 。
通常我们在 xslt 文件中会这么写:
<description><xsl:value-of select="Description"/></description>
如果原来的 Description 中有特殊字符,如 < 等,转换后,< 会自动变为 < 的,即得到
<description>Hello<Unmi</description> Read More - 之前写有一篇 让 WordPress 的 Rss 显示更多或所有的日志, 为了让 WordPress 的默认 Post 和 Comment 的 RSS 输出记录数多于10 条,竟然把这一系列的代码都穿越了一番。确实解决了问题,定位到了 RSS 在查询时 limit 值在哪行代码得到的,当时通过修改 query.php 手工指定输出的记录数。因为 WordPress 代码无法单步调试,所以为了找到这段代码着实费了好一番功夫的。
其实何必来得如此周折呢,在后台里可以直接修改该参数的,wp-admin 中点击 Settings->Reading,打开 Reading Settings 页面,选项 Syndication feeds show the most recent 就是用来设置输出各种 RSS 记录里显示最近多少条记录,反应到 SQL 就是 limit 0, X 中的 X 值,比如 20 条记录,或者你的博客有 2000 条记录,你设置的此值为 2000 大就输出所有的记录了。 Read More - 敝人的博客常常要贴程序代码,因而装个合适的语法加亮的插件是必不可少的。可以预见得到的是基本上各种语法加亮的插件都是源自于 Google 上的一个项目 SyntaxHighlighter. 但具体选用哪一个却要好自体验斟酌的。有几篇很好的文章可参考下:
1. WordPress代码高亮插件指南[译文]
2. Wordpress 高亮代码显示插件 – SyntaxHighlighter Evolved
3. 让 WordPress 下 CKEditor 支持 CodeColorer,
4. wordpress代码高亮插件wp-codebox使用方法(语法详解)。
怎么着那都是他人之言了,自己试了才知究意,我就说说 SyntaxHighlighter Evolved 吧,我正用着的。之前在 http://unmi.blogjava.net 的博客我往日志中嵌入代码的方式是 <textarea name=code class=php></textarea> 来写的,这样在 textarea 中代码能保持原有的格式,该有的空格都在,那是因为那边的编辑器支持的好, Read More - 默认 WordPress 提供的 RSS 链接只能获得最近的十篇日志,如果想得到更多,或是用于某种目的而想通过 RSS 获得所有的日志,那恐怕就得做些手脚了,或许还有更简单的办法,只是我这里改了下源代码中的 limit 查询参数。
关于 WordPress 的 Feed 请参考:http://codex.wordpress.org/WordPress_Feeds,用以下代码可以输出你实际的 RSS 的 URL:
URL for RDF/RSS 1.0 feed <?php bloginfo('rdf_url'); ?>
URL for RSS 0.92 feed <?php bloginfo('rss_url'); ?>
URL for RSS 2.0 feed <?php bloginfo('rss2_url'); ?>
URL for Atom feed <?php bloginfo('atom_url'); ?>
URL for comments RSS 2.0 feed <?php bloginfo('comments_rss2_url'); ?>
在我的机器上永久链接后是用 http://unmi/feed/ 来访问 rss2,模板将会用 wp-includes/feed-rss2.php 文件。要说定位到这段代码还真不简单。 Read More - 这里要说的 URL 重定向不是指地址栏输入一个 url a,然后地址栏的 url a 被变为 url b 那样的重定向,而是指 url 不变的重定向,也就是重定向过程在服务端默默的帮你完成了。
这个需求是源于开发 WordPress 插件时,然望在前端仅用 http://unmi/dosth 这种形式来访问自己的插件程序,而不是用 http:/unmi/wp-content/my-wordpress-plugin/dosth.php 这么一长串不友好的 URL。
有三种办法:
1. WordPress 是极力推荐与 Apache 搭配使用,所以可以在 Apache 的配置文件中用 Alias 指令。其实一开始我是想在应用的 .htaccess 文件中加指令,使用 mod_rewrite 模块来实现 URL 内部重定向功能,但碰到一些问题,所以暂时先在 httpd.conf 中加过 Alias 指定别名来实现过: Read More - 在开发 WordPress 插件时,你当然可以在每一个你需要用到样式或脚本文件的页面像传统方式那样把它们引入,比如:
有个插件 hello-unmi, 要在管理页面中引入插件目录的 include 文件夹里的 admin-style.css 和 admin-core.js 文件,可以在每个要用到它们的页面都写上:1<link rel="stylesheet" href="/wp-content/plugins/hello-unmi/include/admin-style.css" type="text/css" /> 2<script type="text/javascript" src="/wp-content/plugins/hello-unmi/include/admin-core.js"></script>
页面多了会是个麻烦,要说问题也不大,不过我们既然在 WordPress 的插件体系中,应该考虑好利用上下文给我们带来的便利。可以在 'admin_enqueue_scripts' 的 action 扩展中去引入,这样我们就只要写一次就能为所有(或特定)的管理页面引入想要的样式和脚本文件. Read More