我需要将参数传递给WP_Query以便在pre_get_posts中进行过滤。你能告诉我为什么我的来源不起作用吗?
function yo_pre_get_posts( $query ){
if( $query->get( 'yo_custom_var' ) == 'foobar' )
{
global $wpdb;
$request = 'a';
$offset = 0;
if( isset($_GET['page']) && !empty($_GET['page']) ){
$offset = ($_GET['page']-1) * 100;
}
$query = $wpdb->get_results("
SELECT * FROM $wpdb->posts
WHERE post_title LIKE '$request%'
AND post_type = 'artist'
AND post_status = 'publish'
LIMIT 100 OFFSET $offset;
");
return $query; }
}
add_action( 'pre_get_posts', 'yo_pre_get_posts', 10 );
WP_Query
$wp_query = new WP_Query( array(
...
'yo_custom_var' => 'foobar',
...
) );
答案 0 :(得分:0)
过去我遇到过类似的问题。
在我的情况下,我解决了在循环外移动global $wpdb;
。