wordpress request filter
request filter在 查询变量(query variables)传递给生成页面内容的默认主sql查询 之前‘执行’。
request filter在你自己的查询变量准备好之后‘执行’,这是一个在主查询之前你可以改变‘页面生成’查询的地方。
可以放在functions.php中作为一个改变主循环返回文章列表的方法。
使用这个request filter的优点就是改变了wordpress默认的sql查询,减少了数据库读写次数。
用法:
[pcsh lang="php" tab_size="4" message="" hl_lines="" provider="manual"]
function alter_the_query( $request ) {
// 不传递查询变量,查询不会执行
$dummy_query = new WP_Query();
// 这个函数应该是‘语义’分析查询变量
$dummy_query->parse_query( $request );
// 以下进行你的逻辑处理,这里只是个示例
if ( $dummy_query->is_home() ){
$request['category_name'] = 'news';
}
return $request;
}
add_filter( 'request', 'alter_the_query' );
[/pcsh]
我感觉这个是可以让我们在文章查询出来之前,通过一些操作改变,查询参数
参考文献:http://codex.wordpress.org/Plugin_API/Filter_Reference/request
最后更新于 2017-03-17 15:58:08 并被添加「wordpress Filter request」标签,已有 729 位童鞋阅读过。
此处评论已关闭