我尝试在wordpress网站上创建自己的搜索表单。要获得我想要的结果没问题,但是无法使paginate_links正常工作。
我测试了WP_Query中的所有输入和输出参数,似乎都是oke。 paginate_links的输入是775个结果,16个页面有50个产品标题。
问题:所有页面都给出与第1页相同的结果。 我做了什么准备好了:发布到wordpress论坛,但现在提示是在3days。 测试了所有参数。 合并后的get_col通过add_hook反映到WP_Query中。 检查永久链接并分页。
global $wpdb;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
if ($paged == 1) {
$Limit = "50";
} else {
$FirstPage = ($paged-1)*50;
$LastPage = $paged*50;
$Limit = $FirstPage.",".$LastPage;
}
$term = get_term_by('name', $_REQUEST["product_cat"], 'product_cat');
// echo "id". $term->term_id;
$mypostids = $wpdb->get_col("select * from $wpdb->posts, $wpdb->term_relationships
where $wpdb->posts.post_title LIKE '".$_REQUEST["start_letter"]."%'
AND $wpdb->posts.post_type='product'
AND $wpdb->term_relationships.term_taxonomy_id=".$term->term_id."
AND $wpdb->term_relationships.object_id=$wpdb->posts.ID
AND $wpdb->posts.post_excerpt LIKE '%".$_REQUEST["product_tag"]."%'
ORDER BY $wpdb->posts.post_title asc ");
$argssearch = array('post__in'=> $mypostids,
'post_type'=>'product',
'orderby'=>'title',
'order'=>'asc',
'posts_per_page'=>50,
'product_tag'=>urldecode( $_REQUEST["product_tag"]),
'product_cat'=>urldecode( $_REQUEST["product_cat"]),
'paged=' => $paged);
$querysearch = new WP_Query($argssearch);
echo "<br/>-".$querysearch->found_posts."-".$paged."<br/>" ;
$big = 999999999; // need an unlikely integer
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '',
'current' => max( 1, get_query_var('paged') ),
'total' => $querysearch->max_num_pages,
'add_args' => array('start_letter'=>$_REQUEST["start_letter"],
'product_tag'=>urlencode ($_REQUEST["product_tag"]),
'product_cat'=>urlencode ($_REQUEST["product_cat"]),
'ZOEK' => 'Zoek'
) ));