Intereting Posts
Будет ли я видеть производительность, если я использую собственные API-вызовы, такие как get_the_title () вместо $ post-> post_title? Как я могу получить содержание WordPress по умолчанию? Нужна категория RSS-канал, который показывает все сообщения Перемещение строки через переменную Скрыть виджет (и пробел) по конкретному разрешению Добавление дополнительных полей на страницу добавления пользователей на панели управления Закажите дополнительный мета-ключ? Есть ли более быстрый способ git-svn клонировать плагин wordpress из репозитория subversion? Как удалить атрибут novalidate из формы комментария Как использовать другой файл вместо home.php Как подключиться к заглавию названия CPT? Виджеты Wp-admin не имеют заголовков the_title () показывает название первого сообщения вместо заголовка страницы? Изменение всей постоянной ссылки Навигация по страницам не работает с постоянной структурой

Post-Archive, как страница в определенном подкаталоге

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

Статус кво

Структура сайта аналогична структуре:

/
/Наша работа/
/ our-work / projects <- здесь я хочу иметь архив для проектов
/ хуг
/ …

Я использую следующие настройки:

  • category_base = cat
  • permalink_structure = / news /% category% /% postname% /

Я могу получить доступ к архивам проектов через example.com/cat/projects.

Что я уже пробовал

Я пробовал следующее без успеха:

Удаление page_for_posts и установка его на вновь созданную страницу « новости ».

Включая следующий код в файле .htaccess перед секцией wordpress (с и без [L] : если я использую [L,r=301] я получаю 301-перенаправление.

 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/our-work/projects/$ /cat/projects/ </IfModule> 

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

Мои вопросы

  1. Есть лучший способ сделать это? Как? (Я думаю о создании реальной страницы и вышивании короткого кода, который включает / отображает все записи в категории проектов)
  2. Если нет – как я могу это сделать?
  3. Возможно ли иметь должности этой категории в этом «подкаталоге», например / our-work / projects / acme ?

Solutions Collecting From Web of "Post-Archive, как страница в определенном подкаталоге"

Вы можете зарегистрировать собственный тип сообщений с настраиваемой структурой контировки.

 $args = array( 'rewrite' => array( 'slug' => 'our-work/book' ), ); register_post_type( 'projects', $args ); 

Ответ Тайлора почти сработал. Я должен был установить, по крайней мере, теги array has_archive и public чтобы использовать / our-work / projects /

 $args = array( 'label' => 'projects', 'description' => 'Projects', 'rewrite' => array( 'slug' => 'our-work/projects' ), 'has_archive' => true, //so I can use /our-work/projects/ (archive) 'public' =>'true', //otherwise it included other posts in the archive 'show_ui' => true, //to see it in the admin menu ); register_post_type( 'projects', $args ); 

Мне также пришлось вызвать flush_rewrite_rules() один раз, чтобы обновить структуру permalink (подробнее см. https://codex.wordpress.org/Function_Reference/register_post_type#Flushing_Rewrite_on_Activation ).