WordPress Постоянная ссылка post_type - PullRequest
3 голосов
/ 19 февраля 2010

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

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

Ответы [ 2 ]

2 голосов
/ 04 июня 2010

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

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

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

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

1 голос
/ 20 февраля 2010

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

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

% категория% - продезинфицированная версия категории name (поле слагов категории на New / Edit Панель категорий). Вложенные подкатегории отображаются как вложенные каталоги в URI. Начальные ссылки с % category% настоятельно не рекомендуется по соображениям производительности.

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

...