Как изменить результаты теста на сайте

В WordPress 5.3 появился новый хук для функционала Здоровье сайта – site_status_test_result, который позволяет целиком отредактировать результаты любого теста.

Меняем текст (и не только) результата теста в «Здоровье сайта»

Версия WordPress 5.3 подъехала к нам с новым фильтр хуком для функционала Здоровье сайта – site_status_test_result. Этот фильтр позволяет полностью изменить результат конкретного теста – текст, лейбл, цвет лейбла, приоритетность… короче давайте я покажу вам всё на примере!

Предположим, что на моём сайте тест выдаёт такое рекомендуемое улучшение:

Тест на проверку неактивных плагинов в Здоровье сайта

А что, если мы допилим туда ещё одно условие? Если вдруг количество установленных плагинов больше 50, то добавим туда сообщение, окей?

Что-то подобное мы сделали тут, когда писали свой собственный тест, однако в этот раз мы докинем эту инфу в уже существующее сообщение.

add_filter( 'site_status_test_result', function( $site_health_check ) {
 
	// $site_health_check - массив параметров теста, который мы можем полностью поменять
	// первым делом мы проверям, для какого теста сейчас срабатывает хук!
	if ( 'plugin_version' !== $site_health_check['test'] ) {
		return $site_health_check;
	}
 
	// количество установленных активных плагинов
	$number_of_plugins = count( get_option('active_plugins') );
 
	if( 50 < $number_of_plugins ) {
 
		if ( 'good' === $site_health_check['status'] ) {
			$site_health_check['label'] = 'У вас слишком много плагинов на сайте';
			$site_health_check['badge']['label'] = 'Производительность';
			$site_health_check['badge']['label'] = 'orange';
		} else {
			$site_health_check['label'] .= ', а ещё многовато активных плагинов';
		}
 
		// впишем что-то в описание, именно допишем
		$site_health_check['description'] .= '<p>На вашем сайте более 50 активных плагинов, пожалуйста старайтесь не увлекаться с их количеством, это может повлиять на производительность сайта.</p>';
 
		// если вообще с этим тестом всё ок, то экшены у нас будут пусты
		if ( 'good' === $site_health_check['status'] ) {
			$site_health_check['actions'] = '<a href="' . admin_url('plugins.php') . '">Управление плагинами</a>';
		}
 
		// ну и меняем статус теста на не гуд
		$site_health_check['status'] = 'recommended'; // или critical, если очень важно
 
	}
 
	return $site_health_check;
});

Какой-то не самый красивый пример получился 😁, давайте разберём, как оно работает.

  • Строка 5 – напоминаю, что список всех тестов (их идентификаторов) вы можете найти на этой странице.
  • Строка 10 – Установленные плагины в виде массива мы легко получаем из базы данных при помощи функции get_option(), а при помощи стандартной PHP функции count() определяем количество элементов в этом массиве.
  • Строка 12 – Проверяем количество установленных плагинов, если их больше 50, то выполняем код ниже.
  • Строка 14 – Проверка статуса выполненного теста. Если всё хорошо, наши плагины не нуждаются в обновлениях и нет неактивных, мы можем полностью перезаписать заголовок результата теста, изменить бейдж на «Производительность» например, иначе мы просто дописываем уже к существующему заголовку кусочек текста про много плагинов.
  • Подобное условие есть на строке 26 – ведь по сути нам надо добавлять ссылку на страницу с плагинами только когда тест говорит, что всё ок, и ссылок уже не было добавлено.

Короче много текста, вот результат:

Пример использования хука site_status_test_result для измнения результата теста в Здоровье сайта

Смотрите также

  • Здоровье сайта. Подробное руководство.
  • Что нового в WordPress 5.3

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Версия WordPress 5.3 подъехала к нам с новым фильтр хуком для функционала Здоровье сайта – site_status_test_result. Этот фильтр позволяет полностью изменить результат конкретного теста – текст, лейбл, цвет лейбла, приоритетность… короче давайте я покажу вам всё на примере!

Предположим, что на моём сайте тест выдаёт такое рекомендуемое улучшение:

Тест на проверку неактивных плагинов в Здоровье сайта

А что, если мы допилим туда ещё одно условие? Если вдруг количество установленных плагинов больше 50, то добавим туда сообщение, окей?

Что-то подобное мы сделали тут, когда писали свой собственный тест, однако в этот раз мы докинем эту инфу в уже существующее сообщение.

add_filter( 'site_status_test_result', function( $site_health_check ) {
 
	// $site_health_check - массив параметров теста, который мы можем полностью поменять
	// первым делом мы проверям, для какого теста сейчас срабатывает хук!
	if ( 'plugin_version' !== $site_health_check['test'] ) {
		return $site_health_check;
	}
 
	// количество установленных активных плагинов
	$number_of_plugins = count( get_option('active_plugins') );
 
	if( 50 < $number_of_plugins ) {
 
		if ( 'good' === $site_health_check['status'] ) {
			$site_health_check['label'] = 'У вас слишком много плагинов на сайте';
			$site_health_check['badge']['label'] = 'Производительность';
			$site_health_check['badge']['label'] = 'orange';
		} else {
			$site_health_check['label'] .= ', а ещё многовато активных плагинов';
		}
 
		// впишем что-то в описание, именно допишем
		$site_health_check['description'] .= '<p>На вашем сайте более 50 активных плагинов, пожалуйста старайтесь не увлекаться с их количеством, это может повлиять на производительность сайта.</p>';
 
		// если вообще с этим тестом всё ок, то экшены у нас будут пусты
		if ( 'good' === $site_health_check['status'] ) {
			$site_health_check['actions'] = '<a href="' . admin_url('plugins.php') . '">Управление плагинами</a>';
		}
 
		// ну и меняем статус теста на не гуд
		$site_health_check['status'] = 'recommended'; // или critical, если очень важно
 
	}
 
	return $site_health_check;
});

Какой-то не самый красивый пример получился 😁, давайте разберём, как оно работает.

  • Строка 5 – напоминаю, что список всех тестов (их идентификаторов) вы можете найти на этой странице.
  • Строка 10 – Установленные плагины в виде массива мы легко получаем из базы данных при помощи функции get_option(), а при помощи стандартной PHP функции count() определяем количество элементов в этом массиве.
  • Строка 12 – Проверяем количество установленных плагинов, если их больше 50, то выполняем код ниже.
  • Строка 14 – Проверка статуса выполненного теста. Если всё хорошо, наши плагины не нуждаются в обновлениях и нет неактивных, мы можем полностью перезаписать заголовок результата теста, изменить бейдж на «Производительность» например, иначе мы просто дописываем уже к существующему заголовку кусочек текста про много плагинов.
  • Подобное условие есть на строке 26 – ведь по сути нам надо добавлять ссылку на страницу с плагинами только когда тест говорит, что всё ок, и ссылок уже не было добавлено.

Короче много текста, вот результат:

Пример использования хука site_status_test_result для измнения результата теста в Здоровье сайта

Смотрите также

  • Здоровье сайта. Подробное руководство.
  • Что нового в WordPress 5.3

Источник: misha.blog

Avatar photo

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp’s, но совсем не умеет слушать чужие доклады.

При включенном Ajax и режиме быстрого оценивания, баллы редактируются прямо в ячейке таблицы:

8

А если надо именно ответ поменять с неправильного на правильный!

А если надо именно ответ поменять с неправильного на правильный!

Зачем? Вопрос неверно составлен? Перепутаны верные/неверные ответы?

При просмотре попытки конкретного студента можно «Переопределить оценку или оставить комментарий» за каждый вопрос:

7

Или это «подтасовка» результатов? Тогда удачи с редактированием таблиц в базе данных, ведь вся история ответов сохраняется:

10

А не подскажете, где отобразится комментарий  для студента после того, когда преподаватель его оставит, например, при переопределении оценки за вопрос? На странице Результат попытки он не отображается, в настройках можно показать комментарии к ответу и т.п. Может, нужны какие-то права для просмотра? Спасибо улыбаюсь

Вы же сами можете проверить, где отобразится комментарий. Создайте курс, тест, двух пользователей, одному дайте права преподавателя, второму — студента. Ну, и так далее.

По идее, комментарий будет показан студенту ниже самого вопроса на странице обзора попытки.

Как всегда, ответ на поверхности. Для отображения отзыва преподавателя в настройках теста необходимо включить «Отзыв для конкретного варианта ответа»:

Однако в этом случае, естественно, отображаются и отзывы к конкретным вопросам, которые я хотел не показывать. Видимо, отобразить только отзыв преподавателя нельзя. Результат переопределения баллов за вопрос и комментарий «Make comment or override mark» при переоценке вопроса:

Галочки с первого скриншота не имеют никакого отношения к комментарию, оставляемому после переопределения оценки (второй скриншот, самый нижний коммент). Этот комментарий будет показан в любом случае, если он есть.

Только что проверил, без галочки Отзыв для конкретного варианта ответа комментарий не отображается (на скриншоте один и тот же вопрос, переоцененный преподавателем):

Я раньше тоже считал, что комментарий и переопределение оценки должны отображаться в любом случае.

Только что проверил…

Точно, вы правы. Только я не пойму, почему этот комментарий к вопросу или переопределению оценки за вопрос в целом повесили на галку отзыва за конкретный вариант ответа. Где логика?

Ну вешайте тогда на «Общий отзыв к вопросу» улыбаюсь

Данное руководство подскажет, как пройти тест на определение факультета, палочки и патронуса для Hogwarts Legacy.


Это не квест в игре, а квест в жизни, если можно так сказать. Портал Wizarding World предлагает вам создать свой профиль волшебника или волшебницы на сайте фанатов «Гарри Поттера». Этот профиль можно связать с аккаунтом WB Games. Hogwarts Legacy может «взять» данные из вашего профиля и добавить в игру, выдав вам факультет, палочку и патронус.

ВАЖНО: вы можете пройти тест, но если вам не понравится результат, вы сможете все изменить в игре. При условии, что вы связали аккаунты, конечно.

Как пройти тест

  • Пройдите по ссылке. Откроется сайт Wizarding World. 
  • Если вы не зарегистрированы на портале, то сделайте это.
  • Начните проходить квест. У вас будет 4 задачи для заполнения профиля: определить факультет, выбрать палочку, определить патронус и составить аватарку.

Если вы не очень понимаете английский, то советуем сначала или параллельно проходить тест на стороннем русскоязычном портале. Он содержит те же вопросы, что и сайт Wizarding World.

В результате у вас получится что-то вроде такого, только на основе ваших ответов.


Другие руководства по игре:

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить результаты антиплагиата
  • Как изменить резонансную частоту динамика
  • Как изменить резонанс
  • Как изменить резкость экрана на ноутбуке
  • Как изменить резкость экрана на компьютере

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии