Я пытаюсь запретить Woocommerce отображать электронную почту клиента в качестве имени рецензента продукта. Пока что все попытки вручную изменить его в пользовательском интерфейсе WP Admin провалились. Я решил попробовать php здесь.
Нашел этот код, который отображает имя в templates / single-product / review-meta.php:
<strong class="woocommerce-review__author"><?php comment_author(); ?></strong> <?php
Мне нужно изменить comment_author (), поэтому я добавил фильтр (я новичок в php, кстати).
add_filter( 'comment_author', 'private_comment_author', 10, 0 );
function private_comment_author() {
return $comment_ID;
}
«$ Comment_ID» является наполнителем. Как я могу вернуть публичное отображаемое имя пользователя или имя и фамилию?
Фильтр передает строку имени пользователя, так что вы можете использовать ее для получения любой информации о пользователе, например, имени.
function private_comment_author( $user_name ) {
$user = get_user_by( 'login', $user_name );
if( $user )
return $user->first_name . ' ' . $user->last_name;
else
return '';
}
add_filter( 'comment_author', 'private_comment_author', 10, 1 );
Других решений пока нет …