WordPress: showing page parent title
在 WordPress 中,我们组织页面(Pages),经常会用到层级关系。
问题:导航到子页面(sub-page),如何在导航中显示完整的导航信息?例如父级页面为 ParentPage,子页面为 SubPage,在子页面中要求看到导航:Home / ParentPage / SubPage 。
在 WordPress 的 Tags 中,是没有直接提供可用的模板标签的。但是在官方论坛找到一篇相关的帖子——《display page parent on page with title》,解决了这个问题。经过本人测试,是有效的。
代码如下:
<div id="breadcrumbs">
<a href="<?php echo get_bloginfo('url'); ?>" title="">Home</a>
<?php
$parent_id = $post->post_parent;
$breadcrumbs = array();
while ($parent_id) {
$page = get_page($parent_id);
$breadcrumbs[] = '<a href="'.get_permalink($page->ID).'" title="">'.get_the_title($page->ID).'</a>';
$parent_id = $page->post_parent;
}
$breadcrumbs = array_reverse($breadcrumbs);
foreach ($breadcrumbs as $crumb) echo ' / '.$crumb;
?>
</div>
<h1><?php the_title(); ?></h1>
感谢 Ivovic 。
曾经就想过怎样利用 WordPress 本身的 RSS 订阅功能实现聚合(Aggregator),现在可以很方便地借助一些插件来实现了。
今天简单搜索了一下,找到两款。
FeedWordPress
首先介绍的是这款命名为 FeedWordPress 的插件,其功能是将 Feeds 的内容以文章的形式发布——它会把内容写入到 _posts 表。
使用的时候,可以专门建立一个文章分类目录来保存这些订阅的内容。
FeedWordPress 有专门的 feeds 管理面板,输入要订阅的网址,它会自动分析可用的 feed(s) 供你选择。
WordPress 上的下载地址:http://wordpress.org/extend/plugins/feedwordpress/
Friends RSS Aggregator
Friends RSS Aggregator ,是通过分析链接中的项目来聚合内容的—— feeds 来自于添加链接时录入的 RSS ,以页面的形式来显示聚合的内容。
我们可以建立一个专门的链接目录,在页面中我们通过指定链接目录的名字,来确定需要从哪些源来获取内容。
由于 Friends RSS Aggregator 使用的 fetch_rss() 函数会合 WordPress 自身的同名函数冲突,我们需要修改 friends-rss.php
require_once('include/magpierss/rss_fetch.inc');
修改为
if (is_readable(ABSPATH . WPINC . '/rss.php')) :
require_once (ABSPATH . WPINC . '/rss.php');
else :
require_once (ABSPATH . WPINC . '/rss-functions.php');
endif;
相比较两款插件,FeedWordPress 比较适合做聚合类型的网站,而 Friends RSS Aggregator 比较适合将聚合作为一个栏目来管理。当然,由于 FeedWordPress 聚合的内容会显示在某个文章分类下的这一特性,我们一样可以定制模板,来将聚合内容以特定栏目的形式来显示。
本站目前使用的是 Friends RSS Aggregator,由于输出结果的代码结构不方便灵活定义,我只好将默认的程序做了一点修改来满足我的主题风格。现在还有一个比较郁闷的问题是聚合的结果,不能通过 WP-PageNavi 插件显示分页。
著名 JavaScript 框架 jQuery 1.3 版本发布,此次发布,正值 jQuery 发布三周年之际。
jQuery 是一个快速的,简洁的 javaScript 库,它简化了 HTML 文档遍历、事件处理、动画,以及 Ajax 交互,使 Web 开发变得更加快捷。jQuery 的设计,将会改变你编写 JavaScript 的方式。
这个版本最大的新特性有:
- Sizzle: A sizzlin’ hot CSS selector engine.
- Live Events: Event delegation with a jQuery twist.
- jQuery Event Overhaul: Completely rewired to simplify event handling.
- HTML Injection Rewrite: Lightning-fast HTML appending.
- Offset Rewrite: Super-quick position calculation.
- No More Browser Sniffing: Using feature detection to help jQuery last for many more years to come.
关于这个版本的发布的详细信息,请参考官方的文档《Release:jQuery 1.3》。
与其说是使用技巧,不如说是在使用过程中了解的一些 WordPress 功能。鉴于目前正在使用的版本是 2.7 简体中文版,以下罗列的内容,也仅针对这个版本和以后的版本。
修改固定链接
在发布或编辑文章的时候,我们可以同时修改固定链接。但是这个仅在“固定链接”结构中含有“%postname%”的时候有效。如果仅使用诸如日期(%year%、%monthnum%、%day%)、编号(%post_id%)等系统可以直接获取的且相对固定结构,则不会出现固定链接的编辑项目。
我使用的固定链接是 /post/%post_id%.html 的形式。
文章置顶
展开“公开度”,可以看到“发布”项下面有个“置顶这篇文章到首页”的选择项。
“快速编辑”模式下,更可以直观地看到这个选择项。
之前曾手动将 SyntaxHighlighter 集成到自己的 WordPress 主题中,之后又有几位 CHers 来问我使用的是那款代码高亮插件。当时的确是太“懒”了,以至于不知道去搜索一下看看是否有现成的 WordPress 插件可用。
最后来是 lane 问我这个问题,索性去翻了一下,找到两个。
WP-Syntax
WP-Syntax 使用的是 GeSHi ,这款插件支持的语言种类较多,具体可以查看 GeSHi 的介绍。
下载
WP-Syntax
安装
将下载解压得到的 wp-syntax 文件夹上传至 /wp-content/plugins/,进入插件管理中激活。
使用
<pre lang=”LANGUAGE” line=”1″>code here</pre>
lang 属性指定程序种类,line 指定行号从多少开始。
SyntaxHighlighter Plus
这款插件支持下列语言:
- Bash — bash, sh
- C++ — cpp, c, c++
- C# — c#, c-sharp, csharp
- CSS — css
- Delphi — delphi, pascal
- Java — java
- JavaScript — js, jscript, javascript
- PHP — php
- Python — py, python
- Ruby — rb, ruby, rails, ror
- SQL — sql
- VB — vb, vb.net
- XML/HTML — xml, html, xhtml, xslt
下载
SyntaxHighlighter Plus
安装
下载解压,上传 syntaxhighlighter-plus 文件夹到 /wp-content/plugins/ 目录,去插件管理中激活。
使用
⌈sourcecode language=’css’⌉code here⌈/sourcecode⌉
(这里使用的是 [] 符号)
language 中的内容替换为你需要的语言(看上面的支持列表),code here 为你的代码。
效果
<?php
echo('Hello World!');
?>
我个人倾向于选择 SyntaxHighlighter Plus 。