adamdempsey
  • 0
Новичок

Дизайн URL для подпостов?

  • 0

В настоящее время у меня есть это:

mysite.com/product-name
mysite.com/another-product

и т. д., где название продукта и другой продукт являются сообщениями.

Затем у меня есть собственный тип сообщений под названием «Журналы изменений», который у меня есть для каждого продукта, возможно ли иметь URL-адрес, например:

mysite.com/product-name/changelog
mysite.com/another-product/changelog

Если да, то как мне это сделать?

Share
  1. Кроме того, по какой причине вы не используете пользовательский тип записи для продуктов? Было бы очень разумно настраивать продукты с использованием пользовательских типов сообщений; этот сегодняшний ответ может даже рассказать вам, как их изменить: wordpress.stackexchange.com/questions/1037

    • 0
  2. В WordPress нет такой вещи, как «подзаголовки», которые уже встроены.

    Но вполне возможно, что вы создадите плагин, который представляет «Подпосты» в том стиле, который вы описываете.

    Технически вы говорите не о подпостах, а о макете URL. Таким образом, в WordPress вы добавляете конечную точку («журнал изменений»), которую вы можете обрабатывать с помощью какого-либо плагина, например, переключая отображение на какой-либо другой пост.

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

    Связанный:

    • 0
  3. После завершения ответа выше мне приходит в голову, что вы могли бы достичь того, чего хотите, проще, чем я сначала подумал, используя ответ, который написал в этом вопросе:

    Я знаю, что заголовок вопроса не подразумевал бы для вас, что он будет актуальным, но вопрос был, по сути, о типе информации «подпост» и связанных URL-адресах.

    Извините, это не пришло мне в голову, пока я не опубликовал ответ выше.

    • 0
  4. Привет @Адам:

    Как вы, наверное, знаете, все «сообщения» хранятся в одной таблице базы данных для «Сообщений», «Страниц» и любых пользовательских типов сообщений.

    Я упоминаю предыдущее, чтобы подчеркнуть, что все «сообщения» имеют доступное полеpost_parent , и я успешно использовал его для создания отношения «родитель-потомок» между, например, 'restaurant' типом сообщения и 'restaurant-location' типом сообщения.

    Однако URL-адреса немного сложнее, и я фанатик, когда дело доходит до хорошо спроектированных URL -адресов, поэтому вы должны знать, что я внимательно изучу их.

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

    В то время как некоторые из наиболее хардкорных разработчиков WordPress, которые часто отслеживают и список wp-hackers, похоже, не думают, что есть большая проблема с системой маршрутизации URL-адресов, все остальные, кого я знаю, действительно пытались использовать ее для любого другого шаблона, кроме ведения блога борется с этим и находит это бесящим. Вот почему я отправил этот тикет и надеюсь, что в ближайшем будущем у меня будет время для его рассмотрения:

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

    К сожалению , я знаю, что это не тот ответ, который вы искали, но он честный и искренний.

    • 0
  5. Я вернулся к этому проекту после того, как некоторое время не работал над ним, и вот что у меня есть:

    как и в моих предыдущих примерах, где у меня есть:

    mysite.com/имя-продукта/журнал изменений mysite.com/другой-продукт/журнал изменений

    это сообщения (типа журнала изменений), а фактический слаг — журнал изменений имени продукта.

    Затем я использую плагин перенаправления, чтобы выполнить проход из

    ​/([a-zA-Z0-9-]*)​/changelog​/$
    

    к

    /$1-changelog/
    

    Но это заканчивается перенаправлением 301 на mysite.com/product-name-changelog.

    Я пытался подключиться к wp_redirect и canonical_redirect, чтобы попытаться остановить перенаправление, но пока безуспешно.

    Любые предложения о том, что еще попробовать?

    • 0

Оставить ответ

You must login to add an answer.