Как переписать URI пользовательского типа записи? - PullRequest
3 голосов
/ 07 ноября 2011

Сайт, над которым я работаю, использует следующую "симпатичную" структуру постоянных ссылок:

http://example.com/blog/my-special-post

Но для пользовательского типа поста мой клиент хотел бы избежать "симпатичного" слага:

http://example.com/product/142

Как можно использовать идентификатор сообщения вместо слага?

Я считаю, что это возможно при использовании WP_Rewrite, но я не знаю, с чего начать.

Ответы [ 3 ]

1 голос
/ 12 ноября 2011

Я разместил тот же вопрос на сайте обмена стека WordPress и получил хорошее решение:

WordPress StackExchange - Как переписать URI пользовательского типа записи?

0 голосов
/ 07 ноября 2011

В WP Admin вы можете изменить отображение постоянных ссылок, перейдя в «Настройки-> Постоянные ссылки».Для достижения желаемых результатов установите пользовательскую структуру на /%post_id%/.Если вы вручную не отредактируете .htaccess и правила перезаписи WP, я не думаю, что вы сможете создать структуру, в которой у вас есть пост-слаг в URI для одного типа поста, но идентификатор для другого.

0 голосов
/ 07 ноября 2011

Все посты / страницы WP, независимо от их типа, доступны через http://example.com/?p=foo, где foo - идентификатор сообщения.

По умолчанию, перенаправление на «довольно постоянную ссылку» имеет место, хотя.

В запись WP Codex для register_post_type () (я полагаю, это то, что вы используете для настройки CPT, верно?), Аргумент rewrite описан:

переписан (булево или массив) (необязательно) Переписать постоянные ссылки с этим форматом. Ложь, чтобы предотвратить переписать. По умолчанию: true и используйте тип записи как slug

Итак, используя

$args = array(
    'rewrite' => false,
    // ... whatever else there is
);
register_post_type('product', $args);

должно дать то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...