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

相关文章

此处评论已关闭