我想知道是否有办法改变全局 wordpress posts 查询。
假设我位于标签存档中。我需要能够更改 order 和 posts_per_page 变量
当我使用这个时:
global $wp_query;
$wp_query->set('order', 'ASC');
它更改了变量,但帖子顺序未更改。
创建另一个查询就可以完成这项工作,但这样做需要我对标签、文件、搜索结果等使用不同的查询,这对我来说不是一个选择。
我希望你明白我需要什么。
关于如何解决这个问题有什么想法吗?
谢谢!
最佳答案
我从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; }
关于wordpress - 更改全局帖子查询(wordpress),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8080265/