2017-02-23 1 views
0

페이지 매김을 사용하여 SQL_CALC_FOUND_ROWS를 사용하지 않도록 설정하려고합니다. 그 목적을 위해, SQL_CALC_FOUND_ROWS에서 다음 코드를 사용하고 있지만 그 코드 매김이 작동하지 않기 때문입니다. 어떻게해야합니까? 또는 코드를 개선하는 방법은 무엇입니까? 포스트 "WordPress: SQL_CALC_FOUND_ROWS, why it’s slow and what to do about it"페이지 매김을 사용하여 SQL_CALC_FOUND_ROWS 사용 안 함

if (! function_exists('oz_optimized_get_posts')): 
function oz_optimized_get_posts() { 
    global $wp_query, $wpdb; 

    $wp_query->query_vars['no_found_rows'] = 1; 
    $wp_query->found_posts = $wpdb->get_var("SELECT COUNT(*) FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private')"); 
    $wp_query->found_posts = apply_filters_ref_array('found_posts', array($wp_query->found_posts, &$wp_query)); 

    $posts_per_page = (! empty($wp_query->query_vars['posts_per_page']) ? $wp_query->query_vars['posts_per_page'] : get_option('posts_per_page')); 
    $wp_query->max_num_pages = ceil($wp_query->found_posts/$posts_per_page); 

    return $wp_query; 
} 
add_filter('pre_get_posts', 'oz_optimized_get_posts', 100); 
endif; 

답변

0

Edwar D 저자는 내 요청에 자신의 코드를 업데이트하고 업데이트 된 코드는 110 % 작동합니다.

감사 서비스 번들

관련 문제