WordPress模板制作中,function.php是一个特殊的文件,可以用来自定义模板中需要用到的函数,添加钩子函数等。为了为不同的模板添加不同的钩子函数,需要使用WordPress的条件标签(Conditional Tag)。
WordPress常用条件标签如下:
is_home() – 当默认主页显示时返回ture
is_front_page() – 使用页面作为首页,首页显示时返回true
is_admin() – 当控件面板或者管理员面板显示时返回true
is_single() – 当单页文章显示时(即当调用single.php模板时)返回true
is_page() – 当页面(page)显示时返回true
is_category() – 当分类(Category)页面显示时返回true
is_tag() – 当存档标签页面显示时返回true
下面是在function.php中调用条件标签为不同页面模板添加不同行为的例子 – Post Icon
这段代码在每个post页面文章开头添加一张图片,假设该图片存在于你的模板文件夹下images目录中。该filter的优先级为20,比一般的filter优先级低(默认优先级是10)add_filter( 'the_content', 'my_the_content_filter', 20 );
/**
* 在每篇文章页面开头添加一个icon
*
* @uses is_single()
*/
function my_the_content_filter( $content ) {
if ( is_single() )
// 将图片添加到每篇文章开头,第二个%s代表文章原始的content内容
$content = sprintf(
'%s',
get_bloginfo( 'stylesheet_directory' ),
$content
);
// Returns the content.
return $content;
}