Intereting Posts
Как отключить отображение виджета на мобильном сайте? WordPress неправильно перенаправляет на локальный IP-адрес? Как WordPress обрабатывает ошибки блокировки строк MySQL? Лучшее изображение / уменьшенное изображение Условное использование get_the_ID () не работает Выберите данные из базы данных и перечислите их в Loop (WordPress) Использование функции wordpress для извлечения данных Написание пользовательских правил перезаписи, которые включают категорию для пользовательских типов сообщений? Могу ли я запустить add_action-hook внутри функции, которая получает данные через wp_ajax? Есть ли сайт, на котором я могу найти хорошую документацию для плагина wp-ecommerce? Может ли деактивировать плагин, иногда «перезагружать» настройки внутри этого плагина? Безопасно ли обновление с версии 2.6.2 до последней версии? Как запросить пользовательскую таблицу db? Как использовать is_admin в wp-config.php Проблемы с аргументами боковой панели и wp_list_bookmarks

Индивидуальная разбивка по страницам 404

У меня есть пользовательский тип сообщения с именем episodes_listing и пользовательская таксономия с именем episodes_category.

Моя цель состояла в том, чтобы иметь такие страницы, как domain.com/episodes/season-one. Это отлично работает, и если у меня есть шаблон под названием taxonomy-episodes_category.php, и кто-то отправляется на домен.com/episodes/season-one, используя стандартный цикл WordPress, он отлично работает и показывает все эпизоды из первого сезона.

Однако, когда я пытаюсь добавить разбивку на страницы, когда кто-то переходит на страницу 2, url изменяется на domain.com/episodes/season-one/page/2 и возвращает 404. Я не уверен, как получить разбиение на страницы для работы ,

Код разбиения на страницы после стандартного цикла:

next_posts_link( 'Older posts' ); previous_posts_link( 'Newer posts' ); 

Мой пользовательский тип сообщения / таксономия ниже.

 // Register Custom Post Type function episodes() { $labels = array( 'name' => _x( 'Episodes', 'Post Type General Name', 'text_domain' ), 'singular_name' => _x( 'Episodes', 'Post Type Singular Name', 'text_domain' ), 'menu_name' => __( 'Episodes', 'text_domain' ), 'parent_item_colon' => __( 'Parent Item:', 'text_domain' ), 'all_items' => __( 'All Episodes', 'text_domain' ), 'view_item' => __( 'View Item', 'text_domain' ), 'add_new_item' => __( 'Add New Episode', 'text_domain' ), 'add_new' => __( 'Add New Episode', 'text_domain' ), 'edit_item' => __( 'Edit Item', 'text_domain' ), 'update_item' => __( 'Update Item', 'text_domain' ), 'search_items' => __( 'Search Item', 'text_domain' ), 'not_found' => __( 'Not found', 'text_domain' ), 'not_found_in_trash' => __( 'Not found in Trash', 'text_domain' ) ); $rewrite = array( 'slug' => 'episodes/%episodes_category%', 'with_front' => false ); $args = array( 'label' => __( 'episodes', 'text_domain' ), 'description' => __( 'All episodes', 'text_domain' ), 'labels' => $labels, 'supports' => array('title' ), 'taxonomies' => array('episodes_category' , 'post_tag'), 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'show_in_admin_bar' => true, 'menu_position' => 5, 'can_export' => true, 'has_archive' => 'episodes', 'exclude_from_search' => false, 'publicly_queryable' => true, 'rewrite' => $rewrite, 'capability_type' => 'post', 'query_var' => true, 'menu_icon' => 'dashicons-media-video' ); register_post_type( 'episodes_listing', $args ); } function episodes_taxomony() { $labels = array( 'name' => _x( 'Episodes Categories', 'Taxonomy General Name', 'text_domain' ), 'singular_name' => _x( 'Episodes', 'Taxonomy Singular Name', 'text_domain' ), 'menu_name' => __( 'Episode Categories', 'text_domain' ), 'all_items' => __( 'All Items', 'text_domain' ), 'parent_item' => __( 'Parent Item', 'text_domain' ), 'parent_item_colon' => __( 'Parent Item:', 'text_domain' ), 'new_item_name' => __( 'New Item Name', 'text_domain' ), 'add_new_item' => __( 'Add new Episode Category', 'text_domain' ), 'edit_item' => __( 'Edit Item', 'text_domain' ), 'update_item' => __( 'Update Item', 'text_domain' ), 'separate_items_with_commas' => __( 'Separate items with commas', 'text_domain' ), 'search_items' => __( 'Search Items', 'text_domain' ), 'add_or_remove_items' => __( 'Add or remove items', 'text_domain' ), 'choose_from_most_used' => __( 'Choose from the most used items', 'text_domain' ), 'not_found' => __( 'Not Found', 'text_domain' ) ); $rewrite = array( 'slug' => 'episodes', 'with_front' => false, 'hierarchical' => true ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, 'show_tagcloud' => true, 'query_var' => true, 'rewrite' => $rewrite ); register_taxonomy( 'episodes_category', array('episodes_listing'), $args ); } 

Solutions Collecting From Web of "Индивидуальная разбивка по страницам 404"

Вы уверены, что у вас нет страницы с тем же именем пользовательского типа сообщений? Если вы это сделаете, правила перезаписи permalink будут запутаны и вызовут 404.

Очень простое решение: страница, в которой перечислены пользовательские типы сообщений, вызывается во множественном числе (например, продукты), а фактическое имя типа сообщения находится в единственном числе (например, продукт). Поэтому они не конфликтуют, и все в порядке.

Также всегда выполняйте перезапись файла .htaccess при создании нового настраиваемого типа сообщений.