WordPress обслуживает пользовательский 404. php при использовании CPT и нумерации страниц (все страницы, кроме первой страницы) - PullRequest
0 голосов
/ 19 марта 2020

Хорошо, я заблудился, сейчас я работаю над темой для начинающих с WordPress, используя PHP. Я использую несколько пользовательских типов постов. Так что на главной странице я показываю несколько пользовательских постов с нумерацией страниц, используя l oop

  global $wp_query;
 $wp_query = new WP_Query( array(
    'post_type' => 'my_cpt',
    'posts_per_page' => 8,
    'paged' => $paged
  )
); 
if ( $wp_query->have_posts() ) : 
 while ( $wp_query->have_posts() ) :    $wp_query->the_post(); //display the post .. which I did
 endwhile;

//Pagination starts here
 $total_pages = $wp_query->max_num_pages;

 if ($total_pages > 1){

     $current_page = max(1, get_query_var('paged'));

     echo paginate_links(array(
         'base' => get_pagenum_link(1) . '%_%',
         'format' => '/page/%#%',
         'current' => $current_page,
         'total' => $total_pages,
         'prev_text'    => __('« prev'),
         'next_text'    => __('next »'),
     ));
 } //Pagination ends here
endif;

Этот код находится в доме. php, также индекс. php.

В сторону с главной страницы (для страниц http://mywebsite/page/X, где X - номер страницы и> 1). Веб-сайт непосредственно отображает 404. php, и все работает, когда я удаляю 404. php от темы !! WordPress перенаправляет пользователя напрямую к 404. php, если он существует, я что-то упустил? Это должно работать так? Ссылка на иерархию

1 Ответ

0 голосов
/ 25 марта 2020

URL-адреса, которые я должен был назвать, были не http://mywebsite/page/X, а:

 http://mywebsite/my_cpt/page/X

Мои страницы архива с пользовательским типом записи, где перенаправлялись на 404. потому что мне не хватало этого строка в моей пользовательской функции регистрации типа записи:

"has_archive" => true,

Мне пришлось добавить эту строку в мои функции. php, чтобы она работала:

flush_rewrite_rules( false );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...