2015-01-25 4 views
0

Я использую пользовательские постоянные ссылки /% категории% /% postname%/ На странице категории (category.php) Я использую разбиение на страницы, например,/магазины/paged/2 и получаю 404Pagination on category.php не работает в wordpress

PS Если я иду/магазины/выгружаемого/1 работает WP_Query P.P.S Использование пользовательских запросов и wp_pagenavi()

global $paged; 
if (get_query_var('paged')) 
    $my_page = get_query_var('paged'); 
else { 
    if(get_query_var('page')) 
     $my_page = get_query_var('page'); 
    else 
     $my_page = 1; 
    set_query_var('paged', $my_page); 
    $paged = $my_page; 
} 
$args = array(array('posts_per_page' => 2, 'paged'   => $paged, 'post_type' => 'post', 'category_name' => 'my_category_nicename')); 

$the_query = new WP_Query($args); 

... 

while ($the_query->have_posts()): 

... 

Как я могу это исправить?

спасибо!

ответ

6

Вам необходимо изменить основной цикл на странице своей категории, вместо того чтобы вырвать новый цикл. Основной цикл категории, в которой вы находитесь, не имеет страницы 2, поэтому он никогда не показывает файл category.php, который вы изменили, вместо этого загружается шаблон 404.

В приведенном ниже примере я использую pre_get_posts, чтобы проверить, если мы находимся на странице категории и изменить количество сообщений на странице до 2.

function wpse_modify_category_query($query) { 
    if (! is_admin() && $query->is_main_query()) { 
     if ($query->is_category()) { 
      $query->set('posts_per_page', 2); 
     } 
    } 
} 
add_action('pre_get_posts', 'wpse_modify_category_query'); 
+0

Спасибо за ответ. Я удалил 'posts_per_page' => 2 и добавил вашу функцию в functions.php, удалив if (! Is_admin() && $ query-> is_main_query()) {... Я также получаю ошибку 404 на второй странице :( –

+0

If вы удалили posts_per_page, что вы надеялись сделать? –

+0

Я пробовал с 'posts_per_page' => 2 и 'posts_per_page' => 0 и 'posts_per_page' => -1 и без него. Это не помогло. Можете ли вы дать мне пример правильного запроса WP для этой функции? –