Переопределить URL-адрес по умолчанию для страниц автора?

13

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

http://domain.com/author/{username}

Мне интересно, как изменить «автора» в этом URL на что-то еще?

Я работаю над сайтом для чартерной школы, и они хотели бы, чтобы у каждого учителя был список должностей по «классной комнате». Таким образом, желаемый URL будет

http://domain.com/classroom/{username}

jessegavin
источник

Ответы:

15

Вы можете добавить это в свои функции, и он будет перезаписывать слаг из «автор» по умолчанию в «класс»,

function new_author_base() {
    global $wp_rewrite;
    $author_slug = 'classroom';
    $wp_rewrite->author_base = $author_slug;
}
add_action('init', 'new_author_base');

надеюсь, это поможет вам

Филипп
источник
1
flush_rules()это довольно дорого (по ресурсам), поэтому я бы не стал называть это при каждой загрузке страницы. Если вы делаете это только для одного сайта, вы можете пропустить его и просто посетить страницу Постоянных ссылок, это также очистит правила.
Ян Фабри
Да @ Ян Фабри, ты прав, я должен отредактировать ответ сейчас. Я написал лучшее решение.
Филипп
4
Для всех, кто интересуется, использовать ли этот фрагмент кода или плагин, упомянутый выше, плагин делает то же самое, но с интерфейсом для изменения части URL. Поскольку вы, вероятно, не будете менять его каждый месяц, этого фрагмента у вас functions.phpболее чем достаточно (и он не будет случайно отключен).
Ян Фабри
1

Я использую плагин «Edit Author Slug», чтобы сделать то же самое в моем http://www.techcartnow.com/author/kapil-khandelwal/ блоге WordPress. Я изменил "авторский слаг", используя этот плагин.

Плагин « Edit Author Slug » позволяет изменять как авторскую базу (часть «/ author /» URL-адресов авторов), так и авторскую слаг (по умолчанию используется имя пользователя автора).

Капил Хандельвал
источник
0

Вы можете добавить это в свой functions.php:

global $wp_rewrite;
$wp_rewrite->author_base = "member"; // or whatever
$wp_rewrite->flush_rules();
Мадхави Джа
источник