PHP 过滤器
更新于:2023年4月3日
本页目录
pf_page_suffix
基础信息
名称:pf_page_suffix
类型:过滤器(filter)
作用:主题页面、滚动图的钩子均与“页面后缀”有关。如:404 页面的后缀为_404,文章内容页的后缀为_single(post)等。这些后缀在显示页面主列以及显示顶部滚动图时,均会造成影响。因此,修改此过滤器需要非常谨慎。修改后,可能出现某个页面内容不是预期效果的问题。
过滤器参数
| # | 类型 | 备注 |
|---|---|---|
| 1 | String | 主题自动判定的后缀 |
其他:
- 参数可使用
var_dump(参数);查看具体内容 - 若接收 2 个及以上参数,在添加过滤器时务必跟上过滤器优先级(默认 10)以及参数数量,否则会报错。详见 WordPress 官方
add_filter用法
使用示例
将 404 页使用搜索页的后缀(将连带修改页面显示的部分内容变成搜索页)
add_filter('pf_page_suffix',function($suffix){ return $suffix == '_404' ? '_search' : $suffix;});pf_sidebar_selectors
基础信息
名称:pf_sidebar_selectors
类型:过滤器(filter)
作用:用于定义边栏切换按钮及边栏内容
过滤器参数
| # | 类型 | 备注 |
|---|---|---|
| 1 | Array | 边栏按钮 |
其他:
- 参数可使用
var_dump(参数);查看具体内容 - 若接收 2 个及以上参数,在添加过滤器时务必跟上过滤器优先级(默认 10)以及参数数量,否则会报错。详见 WordPress 官方
add_filter用法
使用示例
仅显示自定义边栏(要显示边栏内容需额外注册名为“my_sidebar”的边栏)
add_filter('pf_sidebar_selectors',function($tobe_filtered){ return [ 'my_sidebar' => [ 'name' => '我的边栏', 'html' => '<span>❤</span>' ] ];});pf_static_nav_logo
基础信息
名称:pf_static_nav_logo
类型:过滤器(filter)
作用:固定在顶部的导航条左侧 LOGO 显示的 HMTL 标签内容
过滤器参数
| # | 类型 | 备注 |
|---|---|---|
| 1 | String | img 标签 |
其他:
- 参数可使用
var_dump(参数);查看具体内容 - 若接收 2 个及以上参数,在添加过滤器时务必跟上过滤器优先级(默认 10)以及参数数量,否则会报错。详见 WordPress 官方
add_filter用法
使用示例
忽略后台设置的 LOGO 参数,强制更换成自定义文本
add_filter('pf_static_nav_logo',function(){ return "自定义HTML内容";});pf_header_image
基础信息
名称:pf_header_image
类型:过滤器(filter)
作用:主题页面顶部的图片
过滤器参数
| # | 类型 | 备注 |
|---|---|---|
| 1 | String | img 标签 |
其他:
- 参数可使用
var_dump(参数);查看具体内容 - 若接收 2 个及以上参数,在添加过滤器时务必跟上过滤器优先级(默认 10)以及参数数量,否则会报错。详见 WordPress 官方
add_filter用法
使用示例
忽略后台设置的顶部图片参数,强制更换成自定义文本
add_filter('pf_header_image',function(){ return "自定义HTML内容";});pf_the_modal_title
基础信息
名称:pf_the_modal_title
类型:过滤器(filter)
作用:输出(首页)模块标题 HTML
过滤器参数
| # | 类型 | 备注 |
|---|---|---|
| 1 | String | 组装后的 HTML |
| 2 | String | 原始标题字符串 |
| 3 | Int/Array | 类型标记 |
类型标记可能的值:
| 值 | 备注 |
|---|---|
| 字符串 | Tag 名称 |
| 包含数字的数组 | 该数组中的每个值均是文章分类 ID |
| >0 的正整数 | 文章分类 ID |
| 0 | 默认(未定义) |
| -1 | “最新文章”标题 |
| -2 | “点赞最多(大家喜欢)”标题 |
| -3 | “评论最多(热门讨论)”标题 |
| -4 | “阅读量最多”标题 |
| -5 | “随机文章”标题 |
| -6 | “搜索结果”标题 |
| -7 | “排行榜”标题 |
其他:
- 参数可使用
var_dump(参数);查看具体内容 - 若接收 2 个及以上参数,在添加过滤器时务必跟上过滤器优先级(默认 10)以及参数数量,否则会报错。详见 WordPress 官方
add_filter用法
使用示例
例:根据标记组装自定义标题
add_filter("pf_the_modal_title",function($tobe_filtered_html, $original_text, $remark){ if($remark == -1){ return "<div class='custom-modal-title'>我的最新文章</div>"; } else { return $tobe_filtered_html; }},10,3);pf_show_post_function
基础信息
名称:pf_show_post_function
类型:过滤器(filter)
作用:用于修改显示文章卡片的方法(名)
过滤器参数
| # | 类型 | 备注 |
|---|---|---|
| 1 | String | 主题默认显示方法名 |
| 2 | Array | 准备显示的文章 ID |
| 3 | Int/Array | 类型标记 |
类型标记可能的值:
| 值 | 备注 |
|---|---|
| 字符串 | Tag 名称 |
| 包含数字的数组 | 该数组中的每个值均是文章分类 ID |
| >0 的正整数 | 文章分类 ID |
| 0 | 默认(未定义) |
| -1 | “最新文章”标题 |
| -2 | “点赞最多(大家喜欢)”标题 |
| -3 | “评论最多(热门讨论)”标题 |
| -4 | “阅读量最多”标题 |
| -5 | “随机文章”标题 |
| -6 | “搜索结果”标题 |
其他:
- 参数可使用
var_dump(参数);查看具体内容 - 若接收 2 个及以上参数,在添加过滤器时务必跟上过滤器优先级(默认 10)以及参数数量,否则会报错。详见 WordPress 官方
add_filter用法
使用示例
文章分类 ID 是 8 的,使用自定义显示方式显示。其它仍然使用主题原始的卡片展示方式:
//替换输出方法add_filter('pf_show_post_function',function($tobe_filtered,$ids,$remark){ return $remark == 10 ? "my_custom_show_post_func" : $tobe_filtered;},10,3);
//自定义输出方法function my_custom_show_post_func($post_id=0,$type_id=0, $sn='') { $html = "<a href='".get_permalink($post_id)."'>".get_the_title($post_id)."</a>"; echo $html;}pf_recommend_selectors
基础信息
名称:pf_recommend_selectors
类型:过滤器(filter)
作用:文章推荐模块(点赞最多、评论最多、阅读最多)的 Tab 选择器内容
过滤器参数
| # | 类型 | 备注 |
|---|---|---|
| 1 | Array | 选择器 HTML 名称 |
其他:
- 参数可使用
var_dump(参数);查看具体内容 - 若接收 2 个及以上参数,在添加过滤器时务必跟上过滤器优先级(默认 10)以及参数数量,否则会报错。详见 WordPress 官方
add_filter用法
使用示例
除了点赞最多、评论最多、阅读最多以外,增加一个自定义的 Tab:
add_filter('pf_recommend_selectors',function($tobe_filtered){ $tobe_filtered[] = "自定义<b>Tab</b>"; return $tobe_filtered;});注:真实使用场景除了增加选择器按钮外,还应该增加 Panel 内容,详见pf_recommend_panels动作钩子
pf_frontpage_modal_query_args
基础信息
名称:pf_frontpage_modal_query_args
类型:过滤器(filter)
作用:首页模块数据查询参数过滤
过滤器参数
| # | 类型 | 备注 |
|---|---|---|
| 1 | Array | 原始参数 |
| 2 | Int/Array | 类型标记 |
类型标记可能的值:
| 值 | 备注 |
|---|---|
| 字符串 | Tag 名称 |
| 包含数字的数组 | 该数组中的每个值均是文章分类 ID |
| >0 的正整数 | 文章分类 ID |
| 0 | 默认(未定义) |
| -1 | “最新文章” |
| -2 | “点赞最多(大家喜欢)” |
| -3 | “评论最多(热门讨论)” |
| -4 | “阅读量最多” |
| -5 | “随机文章” |
其他:
- 参数可使用
var_dump(参数);查看具体内容 - 若接收 2 个及以上参数,在添加过滤器时务必跟上过滤器优先级(默认 10)以及参数数量,否则会报错。详见 WordPress 官方
add_filter用法
使用示例
例:“大家喜欢”模块在首页设置成 12 篇文章
add_filter("pf_frontpage_modal_query_args",function($args, $type_id){ // 类型标记为-2是“点赞最多(大家喜欢)” if ($type_id == -2) { //修改查询数量(参见WP_Query的参数说明) $args['posts_per_page'] = 12; } return $args;},10,2);pf_frontpage_modal_query_result_ids
基础信息
名称:pf_frontpage_modal_query_result_ids
类型:过滤器(filter)
作用:首页模块数据查询结果过滤
过滤器参数
| # | 类型 | 备注 |
|---|---|---|
| 1 | Array | 查询到的文章 ID |
| 2 | Int/Array | 类型标记 |
类型标记可能的值:
| 值 | 备注 |
|---|---|
| 字符串 | Tag 名称 |
| 包含数字的数组 | 该数组中的每个值均是文章分类 ID |
| >0 的正整数 | 文章分类 ID |
| 0 | 默认(未定义) |
| -1 | “最新文章” |
| -2 | “点赞最多(大家喜欢)” |
| -3 | “评论最多(热门讨论)” |
| -4 | “阅读量最多” |
| -5 | “随机文章” |
其他:
- 参数可使用
var_dump(参数);查看具体内容 - 若接收 2 个及以上参数,在添加过滤器时务必跟上过滤器优先级(默认 10)以及参数数量,否则会报错。详见 WordPress 官方
add_filter用法
使用示例
打乱首页最新文章的 id,让显示顺序也随机
add_filter('pf_frontpage_modal_query_result_ids',function($ids, $type_id){ // 类型标记为-1是“最新文章” if ($type_id == -1) { shuffle($ids); } return $ids;},10,2);pf_the_modal_link
基础信息
名称:pf_the_modal_link
类型:过滤器(filter)
作用:输出(首页)模块“阅读更多”链接 HTML
过滤器参数
| # | 类型 | 备注 |
|---|---|---|
| 1 | String | 组装后的 HTML |
| 2 | Int/Array | 类型标记 |
类型标记可能的值:
| 值 | 备注 |
|---|---|
| 字符串 | Tag 名称 |
| 包含数字的数组 | 该数组中的每个值均是文章分类 ID |
| >0 的正整数 | 文章分类 ID |
| 0 | 默认(未定义) |
| -1 | “最新文章”标题 |
| -2 | “点赞最多(大家喜欢)”标题 |
| -3 | “评论最多(热门讨论)”标题 |
| -4 | “阅读量最多”标题 |
| -5 | “随机文章”标题 |
| -6 | “搜索结果”标题 |
其他:
- 参数可使用
var_dump(参数);查看具体内容 - 若接收 2 个及以上参数,在添加过滤器时务必跟上过滤器优先级(默认 10)以及参数数量,否则会报错。详见 WordPress 官方
add_filter用法
pf_slider_type
基础信息
名称:pf_slider_type
类型:过滤器(filter)
作用:对 slider 输出的类型进行过滤,默认有 card-flip 和 landscape 两种
过滤器参数
| # | 类型 | 备注 |
|---|---|---|
| 1 | String | 原始类型 |
其他:
- 参数可使用
var_dump(参数);查看具体内容 - 若接收 2 个及以上参数,在添加过滤器时务必跟上过滤器优先级(默认 10)以及参数数量,否则会报错。详见 WordPress 官方
add_filter用法
pf_slider_data
基础信息
名称:pf_slider_data
类型:过滤器(filter)
作用:对 slider 输出的数据进行过滤
过滤器参数
| # | 类型 | 备注 |
|---|---|---|
| 1 | Array | 默认数据 |
其他:
- 参数可使用
var_dump(参数);查看具体内容 - 若接收 2 个及以上参数,在添加过滤器时务必跟上过滤器优先级(默认 10)以及参数数量,否则会报错。详见 WordPress 官方
add_filter用法