Intereting Posts
Включить поиск WordPress на основе запроса? S = <запрос> Перенаправление участников на пользовательскую страницу при входе в систему через WP admin Автоматически задавать изображение с первого URL (или тега) первого изображения в статье Как объявить переменную JS в вызове AJAX Копирование роли от администратора не работает Как остановить – Требуется обновление базы данных – повторное повторение? WordPress Screwing Up 'orderby' => 'meta_value_num' в 'pre_get_posts' В WordPress API есть функция защиты от пиратства Plugin? get_the_ID () дает уведомление на странице 404 Недостатки использования опций -Indexes Добавление виджета trinket.io к сообщению Помощь с фильтром для wp_notify_moderator () Будет ли добавлено 40 000 301 перенаправление, замедляющее сайт? Почему я получаю `вызов функции-члена has_posts () для не-объекта`? Настройка внешнего вида администратора для одного конкретного пользователя

Как добавить настраиваемый URL-адрес в авторские архивы?

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

domain.com/member/%author% 

Это достигается простым:

 $wp_rewrite->author_base = 'member'; 

Теперь мне нужно разрешить этим пользователям создавать список, что должно привести к такой структуре URL-адресов:

 domain.com/member/%author%/%list% 

Пока я создаю эти списки как пользовательские типы сообщений. Все статьи и сообщения Stack Exchange, которые я вижу в WP_Rewrite, не включают переписывание URL, как это. Это возможно? У вас есть какие-то указания на то, как это можно сделать?

Solutions Collecting From Web of "Как добавить настраиваемый URL-адрес в авторские архивы?"

Опция 1

Я предполагаю, что пользовательский тип сообщения генерирует URL-адрес примерно так

domain.com/%custom-post-type%/%list%

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

 RewriteRule ^members/%author%/(.*)$ domain.com/%custom-post-type%/$1 

Это специально не изменяет URL-адреса настраиваемого типа сообщений, но вы должны иметь возможность изменить это по вашему желанию. https://gist.github.com/4336843

Вариант 2

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

domain.com/members/%author%/%custom-post-type%/%list%

 RewriteRule ^members/(.*)/(.*)$ domain.com/members/$1/%custom-post-type%/$2 

Это имеет очень хорошее объяснение по переписыванию URL в целом http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/

Вариант 3

Также вы можете переписать весь пользовательский URL-адрес типа сообщения, если вы не используете его нигде … потому что

register_post_type(); accept 'rewrite' => array ($slug)

больше информации

http://shibashake.com/wordpress-theme/custom-post-type-permalinks

http://shibashake.com/wordpress-theme/custom-post-type-permalinks-part-2

add_rewrite_rule () должен быть ответом http://codex.wordpress.org/Rewrite_API/add_rewrite_rule

или вы можете вручную фильтровать author_rewrite_rules

Я надеюсь, что следующий плагин поможет вам больше: http://wordpress.org/extend/plugins/permalink-editor/

Этот плагин будет переписывать постоянную ссылку, как вы хотите, без каких-либо знаний в области кодирования.