Intereting Posts
Создать домашнюю страницу, например WordPress.com? Может ли начальный фокус быть установлен в поле поиска в WordPress Media Library? Проверьте правильность имени пользователя в пользовательской форме входа Создание черновика страницы в качестве главной страницы Поиск результата персонализированного сообщения на той же странице шаблона Установить ссылку $ options Текущая переменная пути URL Сообщение о предупреждении по электронной почте или телефону (сообщение) Multisite: у меня есть пробел в моих блогах. Как добавить отсутствующий? Последнее измененное поле для профиля пользователя? Разрешить посетителям загружать изображение и выбирать изображение водяного знака vimeo / youtube video embed с эскизами Как превратить WordPress в платный сайт участника Прикрепление изображения к пользовательским конечным точкам Относительный корневой URL для имени поддомена

Пользовательский тип почтового сообщения Переписывать (противоречит URL-адресу страницы)

У меня есть веб-сайт, на котором есть много разных сообщений специального типа. Я хочу использовать страницы в качестве родительских шаблонов для этих сообщений пользовательского типа (перечисление всех отдельных пользовательских сообщений)

Например, у меня есть страница под названием «Блог», и у нее есть URL-адрес www.mysite.com/blog. В ней будут перечислены пользовательские сообщения, называемые «блог». Ниже приведена специальная реализация типа сообщения:

$args = array ( 'label' => 'Blog Posts', 'singular_label' => 'Blog Post', 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'capability_type' => 'post', 'hierarchical' => false, 'rewrite' => array('slug' => 'blog'), 'query_var' => true, 'menu_icon' => null, 'menu_position' => 2, 'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'post-formats', 'custom-fields', 'editors') ); register_post_type( 'blog' , $args ); 

Это работает, и каждый я могу щелкнуть и просмотреть каждую запись в блоге с URL-адресом www.mysite.com/blog/hi-this-is-a-post

Однако разбиение на страницы разбито. www.mysite.com/blog/page/2/ возвращает 404. Я нашел обходное решение путем добавления / публикации / URL-адреса настраиваемого сообщения, например

 'rewrite' => array('slug' => 'blog/post'), 

Это не разбивает разбиение на страницы и ссылки на сообщения, но это не то, что мы хотим. Мы хотим иметь URL-адрес, похожий на

 www.mysite.com/blog/each-post 

Может кто-нибудь, пожалуйста, дайте мне понять? Благодарю.

Спасибо @Milo, я смог решить эту проблему

1) Удалите все, что может быть зарезервировано /blog/ url. В моем случае это была уникальная страница с URL /blog/ .

2) Измените объявление пользовательского типа сообщения, так что оно имеет значение 'has_archive' => true

3) Создайте archive-blog.php и переместите здесь свой код. (Вы можете просто использовать глобальный объект запроса для этого настраиваемого типа сообщений)

4) Обновите постоянную ссылку несколько раз, изменив настройки на обычную (она обновляет постоянную ссылку URL).

5) Работает.