get_the_modified_author() — возвращает пользователя, который последним редактировал пост

Возвращает имя (установленное в профиле в качестве отображаемого, т.е. display_name) пользователя, который последним редактировал текущий пост. Для тех, кто не знает, что такое отображаемое имя пользователя, вот скриншот:

отображаемое имя пользователя, display_name

Функция используется только внутри цикла.

get_the_modified_author()

Не имеет параметров.

Пример

echo get_the_modified_author();

Фильтр the_modified_author

А теперь самое интересное — этот фильтр поможет нам вытащить не только display_name пользователя, но и всю информацию о нём, которую мы только пожелаем (ну, кроме паролей разумеется — ведь они закодированы).

return apply_filters('the_modified_author', $last_user->display_name);
$last_user->display_name
(строка) отображаемое имя пользователя.

Например, в этом примере создадим фильтр, который будет подменять возвращаемое имя пользователя на его ID. Для этого, я буду вытаскивать информацию из базы данных, используя класс $wpdb.

function true_better_id_than_display_name( $display_name ){
	global $wpdb;
 
	if ( ! $userdata = $wpdb->get_row( $wpdb->prepare(
		"SELECT ID FROM $wpdb->users WHERE display_name = %s", $display_name
	) ) ) {
		return $display_name;
	}
	return $userdata->ID;
}
 
add_filter( 'the_modified_author', 'true_better_id_than_display_name', 10, 1);

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Владимир: и на третьей строке не хватает скобки ) закрывающей if :)

  • Миша: Добрый вечер! Рекомендую получить ID пользователя через функцию get_current_user_id().

  • Дмитрий: Миша, подскажите пожалуйста, я использую такой редирект, но он не срабатывает: add_action( 'template_redirect', funct...

  • Миша: Ну как не определена - это аргумент функции. Или я просто вас не до конца понимаю.

  • Артем: Ага, понял. Вот только почему $args? Она же нигде не определена, по логике должна быть переменная $true_field_params или...