Intereting Posts

Как создать подстраницу в WordPress

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

У меня установлен WordPress в подпапке (wordpress) из корня домена. У меня есть настройка на первой странице, чтобы показать начальную страницу тем, которая объединяет данные из других систем. Я смог использовать add_rewrite_rule чтобы некоторые страницы работали корректно с чистыми URI.

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

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

т.е.: (главная страница): domain.com/services/aims domain.com/services/rcm

(подстраницы): domain.com/services/aims/list domain.com/services/aims/profile

domain.com/services/rcm/list domain.com/services/rcm/profile

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

Я также хочу иметь возможность размещать статьи в каждой системе.

т.е. domain.com/services/aims/articles/?(.+)? domain.com/services/rcm/articles/?(.+)?

Мой вопрос заключается в следующем: возможна ли эта функция в WordPress? Я попытался использовать пользовательские типы сообщений, чтобы заставить URI работать, но я не был уверен, как реализовать статьи. Я знаю, что я могу использовать query_vars для отображения другого содержимого страницы, и это будет подражать тому, что я пытаюсь сделать со списком и профилем, но я не могу понять, как разрешить публикацию статей для каждой службы. Я хотел бы использовать те же файлы для служб, а не создавать новые файлы каждый раз, когда добавляется сервис.

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

Кто-нибудь знает возможно ли это? Если да, то какой подход был бы наиболее эффективным?

Спасибо за любую помощь, которую вы можете пролить на эту тему. Кроме того, извините, если заголовок недостаточно хорош … Я не мог понять, как объяснить это просто.

Solutions Collecting From Web of "Как создать подстраницу в WordPress"

Я думаю, что это определенно возможно. Я не могу дать вам полный рабочий пример, но вот несколько мыслей –

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

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

Способ реализации:

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

Это позволяет мне иметь несколько сервисов, сохраняя при этом возможность настраивать каждый шаблон службы (главная страница, список, профиль), и это позволяет мне публиковать статьи для каждой службы. Я использовал Breadcrumb NavXT, чтобы иметь панировочные сундуки на страницах « Services (для отображения страницы «Службы» вместо «Дома»).

Я знаю, что существует множество способов реализовать это, но я хочу, чтобы контент Services находился вне содержимого основного сайта. Вот почему я хотел использовать custom_post_type. Единственное, на что я был разочарован, – это то, что WordPress не позволит мне использовать параметр настраиваемого шаблона по умолчанию, который вы обычно используете для страниц (используя тег поддержки атрибутов страницы. Да, я имел 'hierarchical' => true и 'supports' => 'page-attributes' ). В начале этого ответа я предоставил свой собственный шаблон шаблона пользовательского типа, чтобы помочь другим, у которого есть эта же проблема.