постоянная ссылка wordpress post_type

Я ищу способ получить post_type в структуру постоянной ссылки WordPress, особенно учитывая пользовательский тип post_type, определенный моим собственным плагином.

есть ли простой способ сделать это, или вы знаете какие-либо достойные документы об обработке/перенаправлении URL-адресов wordpress (кодексу, похоже, немного не хватает переписывания).


person roman    schedule 19.02.2010    source источник


Ответы (2)


Кажется, что если вы используете любую структуру постоянных ссылок, кроме стандартной, то в конечном итоге вы получите структуру постоянных ссылок /post_type/post_name.

Итак, если бы я зарегистрировал post_type 'video', это было бы http://yourdomain.com/video/post_name

Если вы используете постоянную ссылку по умолчанию, то, очевидно, это не имеет значения, потому что у вас будет просто ?id=123 или что-то в этом роде. (Хотя вы можете указать post_type как query_var, что может быть полезно в вашей теме.)

В качестве примечания кажется смехотворно сложным попытаться переопределить маршрутизацию URL-адресов WP по умолчанию, и вы МОЖЕТЕ сделать это, используя некоторые действия и фильтры... но вышеизложенное должно работать для того, что вы хотите.

person Finster    schedule 04.06.2010

Под post_type вы имеете в виду категорию? Если это так, я думаю, вы можете сделать это, используя пользовательские настройки постоянных ссылок в панели администратора WordPress.

%category% — это то, что вам нужно. Обратите внимание, что в коде wordpress есть предупреждение о производительности, если оно находится в начале постоянной ссылки: Я не использовал это, так что кое-что, что вы можете изучить:

%category% — очищенная версия имени категории (поле слага категории на панели «Создать/Редактировать категорию»). Вложенные подкатегории отображаются как вложенные каталоги в URI. Начинать постоянные ссылки с %category% настоятельно не рекомендуется из соображений производительности.

РЕДАКТИРОВАТЬ. Однако, если вы ищете тип сообщения, например сообщение / страница, это будет более сложно. Это не один из встроенных структурных тегов, поэтому вам может понадобиться добавить этот новый структурный тег, который будет изменением wp-includes\rewrite.php (и повторным применением с каждым новым патчем wordpress). Может быть и другой способ сделать это с мод-переписыванием, но боюсь выйти за рамки моих знаний

person Kris C    schedule 20.02.2010
comment
извините, нет, я имею в виду post_type буквально - это свойство таблицы сообщений, долгое время используемое для сообщений, страниц, вложений и ссылок, но, начиная с wp 2.9, оно стало более открытым для разработчиков плагинов с помощью таких функций, как register_post_type - person roman; 21.02.2010