麻烦大侠解释下add_filter的意思?

里面
add_filter('posts_where', 'filter_where');
query_posts($query_string);

<?php
//based on Austin Matzko's code from wp-hackers email list
function filter_where($where = '') {
//posts in the last 30 days
$where .= " AND post_date > '" . date('Y-m-d', strtotime('-30 days')) . "'";
return $where;
}
add_filter('posts_where', 'filter_where');
query_posts($query_string);
?>

Helenr
浏览 222回答 2
2回答

料青山看我应如是

add_filter 这个函数是wordpress本身自带的常用函数。他的使用方法是<?php&nbsp;add_filter($tag,&nbsp;&nbsp;$function_to_add,&nbsp;&nbsp;$priority&nbsp;=&nbsp;10,&nbsp;&nbsp;$accepted_args&nbsp;=&nbsp;1);&nbsp;?>其中$tag和$function_to_add是必选。官方解释的含义是:返回的值$function_to_add成功添加到$tag过滤器时返回true。返回函数可接受的参数数量。在WordPress1.5.1及之后版本中,连接的函数可吸收其它在调用do_action() 或apply_filters()时设置的参数。例如,comment_id_not_found动作将传递任何函数,若该函数将所请求的评论编号连接到该动作。按照你当前的程序代码解释来说就是add_filter('posts_where', 'filter_where'); &nbsp;这段代码的意思就是把自定义函数filter_where添加到posts_where当中posts_where也是wordpress自带的功能,

侃侃尔雅

add_filter为wordpress内置的插件机制原理是:1、先通过apply_filters或apply_filters_ref_array函数来声明一个hooks。2、再通过add_filter向已声明的hooks添加自定义函数。add_filter('posts_where', 'filter_where');这句表示向wp内置的posts_where添加filter_where自定义函数。posts_where于wp-includes\query.php: 第2797行左右被声明。
打开App,查看更多内容
随时随地看视频慕课网APP