我想知道是否有办法改变全球wordpress帖子查询。
假设我在标签档案中。我需要能够更改订单和posts_per_page变量
当我使用它时:
global $wp_query;
$wp_query->set('order', 'ASC');
它会更改变量,但不会更改帖子顺序。
创建另一个查询可以完成这项工作,但这样做需要我对标签,档案,搜索结果等使用不同的查询,这对我来说不是一个选项。
我希望你明白我需要什么。
关于如何解决这个问题的任何想法?
谢谢!
答案 0 :(得分:1)
如果你使用query_posts()并通过你的参数传递它将修改循环。 http://codex.wordpress.org/Function_Reference/query_posts
答案 1 :(得分:1)
我修改了functions.php中的wordpress查询:
add_action('pre_get_posts','myf88');function myf88($query) {
if ( !is_admin() && $query->is_main_query() ) {
if ( $query->is_category ) {
$query->set('post_type', array('post','page','my_postType') );
add_filter( 'posts_where' , 'MyFilterFunction_1' );
}
//for "PAGE" type, this doesnt work (IT is WORDPRESS FAULT) , so you may modify "query_posts" in page.php,before loop
}
}
function MyFilterFunction_1($where) {global $wpdb; $where .= " AND ({$wpdb->posts}.post_name NOT LIKE 'Journal%')"; return $where; }