В настоящее время я не вижу автоматического сопоставления учетной записи пользователя → сообщение участника команды. Таким образом, существует несколько способов добиться этого путем ручного сопоставления учетных записей пользователей с сообщениями членов группы.
- Установите на веб-сайте автора URL-адрес страницы группы
- Расширенные пользовательские поля: создание группы полей, которая отображается для всех учетных записей пользователей и включает в себя поле «Пост» (ограничено постами команды), так что вы можете выбрать ровно одну групповую запись для каждого пользователя WP вручную
Я покажу вам первый вариант.
Предположим, что каждая учетная запись пользователя (Пользователи) имеет URL-адрес для набора страниц участника группы, например, в профиле пользователя usera
, который вы видите: Веб-сайт: https://your-site/our-team/user-a
Затем вы можете добавить фильтр для изменения ссылки на автора следующим образом, добавив это в свои функции. php или собственный плагин:
add_filter( 'author_link', 'team_author_link', 10, 3 );
function team_author_link( $link, $author_id, $author_nicename ) {
$userinfo = get_userdata($author_id);
// if the user's Website field is not empty, replace the author link:
$link = empty($userinfo->data->user_url) ? $link : $userinfo->data->user_url;
return $link;
}
Теперь у вас будут все ваши авторские ссылки, связанные с их «веб-сайтом», который, как мы надеемся, был установлен на странице участника команды.
Это также можно сделать с помощью расширенных настраиваемых полей, которые немного красивее, где можно добавить группу полей, показанную для ролей пользователей - > А ll, с группой полей, имеющей поле типа «Post» с именем «team_post», соответствующее только пользовательскому типу записи команды. Это будет выглядеть примерно так: https://i.stack.imgur.com/LLgWv.png (ваш тип сообщения, скорее всего, не будет отображаться как «Сотрудник», но, скорее всего, «Команда»).
Затем вы можете выбрать Командный пост в профиле каждого автора и измените функцию фильтра следующим образом:
add_filter( 'author_link', 'team_author_link', 10, 3 );
function team_author_link( $link, $author_id, $author_nicename ) {
$team_post_id = get_field('team_post', $author_id);
// if the team post is set, get the permalink to the team post:
$team_link = get_permalink($team_post_id);
$link = ($team_link !== false) ? $team_link : $link;
return $link;
}
Имейте в виду, что в обоих случаях каждый пользователь может изменить свой URL. Используя расширенные настраиваемые поля, можно также создать страницу параметров только для администратора, где можно сопоставить учетные записи пользователей с записями команды, но это немного сложнее.