Post_class() wp 2.7

Введение в файлы шаблонов (и как они соотносятся с темами WordPress)

Когда вы создаёте простой статический веб-сайт, вы обычно просто используете HTML и CSS для рендеринга и настройки его внешнего вида. WordPress, с другой стороны, намного мощнее. Платформа построена на языке PHP, и она использует несколько специальных файлов .php для определения того, как формируются отдельные части ваших страниц сайта.

Например, посмотрите на правую часть этой публикации. Есть боковая панель, указывающая на другие похожие публикации из нашего блога. Когда ваш браузер сказал WordPress загрузить эту статью одновременно с этим было подтянуто несколько файлов-шаблонов, один из которых называется sidebar.php. Этот файл содержит информацию о том, как отобразить боковую панель, которую вы видите сейчас, и какие элементы она должна включать:

Боковые панели – это, конечно, только одна из частей полной страницы. Для большинства страниц WordPress требуется несколько файлов шаблонов для работы, в том числе:

  • index.php
  • header.php
  • sidebar.php
  • footer.php
  • functions.php
  • single.php
  • comments.php

Надо отметить, что это не все файлы-шаблоны, которые вы можете найти в WordPress. header.php, sidebar.php и footer.php, особенно важны, поскольку они известны как ‘часть шаблона’ («template partials’). Это означает, что они могут быть встроены в другие шаблоны.

Подход WordPress к созданию страниц вначале может показаться сложным. Однако, этот подход достаточно эффективный. Если у вас был уникальный шаблон для каждой отдельной страницы вашего сайта, настройка была бы кошмаром. Модульный подход к шаблонам WordPress позволяет вам вносить изменения в один файл и использовать этот элемент в любом месте сайта.

Когда дело доходит до выбора шаблонов для каждой страницы, первое, что WordPress делает – это проверяет вашу текущую тему. Каждая тема включает в себя собственный набор файлов-шаблонов, который будет иметь приоритет над всеми остальными. Это часть того, что мы называем ‘иерархией шаблонов WordPress’ в действии, что мы и рассмотрим в следующем разделе.

Теперь, когда вы понимаете, как WordPress отображает ваши страницы, становиться понятно, что темы – это, в основном, коллекция файлов-шаблонов. На практике для темы требуется только один файл шаблона, и это – index.php. Тем не менее, большинство тем включает в себя гораздо больше шаблонов. Для тех моментов, которые не описаны в выбранной теме, WordPress возвращается к другим файлам в своей иерархии, чтобы заполнить эти пробелы.

Обновление WordPress

Обновление в три шага

Это краткая инструкция. Чтобы узнать больше, обратитесь к
подробному описанию. Это также поможет, если у Вас возникли проблемы с «обновлением в три шага».

Предупреждение перед началом

Если у вас появились сложности с «обновлением в три шага», описанным здесь, вам может потребоваться вернуть старую версию прежде чем воспользоваться более детальной инструкцией по обновлению (например, восстановите из резервной копии, сделанной на шаге 0). Even though you might not run into any errors with this process right away, you might run into problems later down the line. Then it may not be possible to revert far enough back to fix the problem without losing any recent changes.

Так, если вы используете плагины и темы, не входящие в WordPress по умолчанию, целесообразно начать с более детальной инструкции.

Шаг 0: Прежде чем вы начнете

  • На случай, если что-нибудь пойдет не так, будьте уверены, что сделали резервную копию. Исчерпывающая инструкция здесь.
  • Убедитесь, что пользователь базы данных, зарегистрированный в WordPress имеет права создавать, модифицировать и удалять таблицы базы данных. Если вы установили WordPress обычным путем и ничего с тех пор не менялось, все в порядке.
  • Деактивируйте ваши плагины. Плагины могут быть несовместимы с новой версией, так что было бы хорошо поискать их более новые версии и деактивировать их в любом случае во избежание проблем.Вы сможете реактивировать их один за другим после обновления.

Шаг 1: Замена файлов WordPress

  1. Удалите старые файлы в директориях и .
  2. Скопируйте новые файлы WordPress на ваш сервер поверх старых файлов в корневую директорию. Для этого вы можете воспользоваться командами FTP или shell. Заметим, что это подразумевает *все* файлы, включая все файлы в корневой директории. Если вы используете тему «default» или «classic» и вы вносили в них изменения, вы можете пропустить файлы темы.

ЗАМЕЧАНИЕ   Директория требует особого внимания, как и директории и . Вы должны скопировать поверх содержимое
этих директорий, а не директорию целиком, чтобы сохранить все настройки и добавленное содержимое.

Шаг 2: Обновление вашей установки

Перейдите на главную административную страницу WordPress по адресу /wp-admin. Возможно, потребуется повторная авторизация. Если обновление необходимо в этой точке, WordPress обнаружит это и предложит вам ссылку вроде . Перейдите по этой ссылке и следуйте дальнейшим инструкциям. База данных обновится для совместимости с новой версией. Если вы прервете этот процесс, ваш блог может странно выглядеть.

Шаг 3: Сделайте что-нибудь хорошее для себя

Если у вас разрешено кэширование, внесенные изменения будут доступны пользователям скорее, если вы очистите кэш (а если нет, то не удивляйтесь старому номеру версии в «подвале» некоторых страниц).

Ваш блог успешно обновлен. Это самый простой способ без использования обновления WordPress при помощи Subversion.

Consider rewarding yourself with a blog post about the upgrade, reading that book or article you’ve been putting off, or simply sitting back for a few moments and let the world pass you by.

Проблемы

Если что-нибудь пошло не так, пройдите все шаги нашей детальной инструкции по обновлению. На этой странице также будет описание всех возможных проблем, которые мы смогли найти.

Стоит ли обновлять WordPress — статья о том почему стоит всегда обновлять WordPress, темы и плагины

Установка и активация темы

Рассмотрим два основных способа установки темы – установку через панель администратора WordPress и установку через FTP/файловый менеджер хостинга

Обратите внимание, при использовании любого из способов, вы должны использовать установочный .zip файл темы, который вы нашли внутри полного архива с темой

Способ №1. Установка темы через панель администратора WordPress

Перейдите в панель администратора WordPress, откройте раздел внешний вид, далее зайдите в подраздел темы, справа появится раздел с уже установленными по умолчанию тремя темами: Twenty Fifteen, Twenty Seventeen, Twenty Sixteen. В самом верху находится кнопка добавить новую, далее нажимаем загрузить тему и выбираем установочный .zip файл темы, который вы нашли внутри полного архива. После выбора жмём установить, после нажатия на кнопку происходит загрузка шаблона на сервер. Дожидаемся, когда шаблон загрузится (файлы из архива с темой грузятся на веб-сервер в папку wp-content/themes/). После загрузки темы нажимаем на кнопку активировать. Этап установки и активации темы завершён.

Способ №2. Установка темы через FTP/файловый менеджер хостинга

Также можно установить шаблон через FTP или файловый менеджер хостинга. Для этого необходимо загрузить и распаковать установочный файл темы в папку public_html/wp-content/themes на веб-сервере. Например, для темы Avada, файлы темы должны находится в папке public_html/wp-content/themes/avada (иногда пользователи создают дополнительную папку при распаковке, например, public_html/wp-content/themes/avada/avada, что является ошибкой).

После загрузки и распаковки темы на веб-сервере нужно перейти в панель администратора WordPress и в разделе внешний вид > темы активировать загруженный шаблон. Этап установки и активации темы завершён.

Зачем обновлять, если все работает

Резонный вопрос, которым задаются многие программисты. Если не обновлять язык на собственном сервере, вы просто лишаете себя преимуществ и возможностей очередной версии.

В каждом релизе PHP появляются новые фишки и функции, а также закрываются уязвимости. Например, is_countable позволяет определить тип переменной — перечисляемый или нет. Это очень удобная возможность для веб-разработчиков. Сейчас приходится использовать для определения типа переменной if, а в PHP 7.3 это можно будет сделать одной функцией.

Однако обновление версии PHP — это болезненный процесс для команды разработки, означающий многодневный рефакторинг кода и исправление ошибок — всё из-за проблем с обратной совместимостью в этом языке. Ранее установленные плагины и скрипты могут конфликтовать с новой версией, работать некорректно или не подключаться вообще, добавляя головной боли разработчикам.

Веб-хостинг Plesk в своем блоге на Хабре выложил статистику, какие версии PHP используют их пользователи на своих сайтах. В начале марта2018 года ситуация выглядела вот так:


Статистика использования разных версий PHP

Как видите, самую последнюю версию используют очень немногие. Консервативное большинство остается верным надежным технологиям — от PHP 5.1 до 5.6.

Как работает иерархия шаблонов WordPress

В предыдущем разделе мы познакомили вас с некоторыми примерами файлов шаблонов WordPress. Однако это были лишь некоторые из шаблонов, которые могут использоваться при загрузке страницы или записи. Иерархия шаблонов WordPress определяет, какие шаблоны используются и в каком порядке.

Например, если вы попытаетесь загрузить страницу для абстрактной категории хостинга, то вот что будет происходить в фоновом режиме:

  1. WordPress будет искать файл шаблона под названием category-hosting.php в каталоге текущей темы.
  2. Если файл category-hosting.php не будет найден, WordPress будет искать тот, который использует идентификатор категории, например, category-2.php.
  3. Если WordPress не найдёт ни одного из этих параметров, он будет искать общий файл category.php.
  4. Если же и файл с именем category.php не будет найден, WordPress откатится назад и будет искать шаблон archive.php.
  5. Наконец, если все остальные действия закончатся безуспешно, платформа загрузит файл index.php вашей темы и будет использовать его в качестве шаблона страницы.

Некоторые файлы шаблонов всегда имеют приоритет над другими, поэтому они организованы в иерархию. В широком смысле сайты WordPress состоят из семи категорий страниц, каждая из которых имеет свою строго определённую иерархию. Теперь давайте рассмотрим, что собой представляют эти категории и как работают их иерархии.

Особенности работы PHP

Из приведенного выше краткого определения вы уже поняли, что PHP является серверным языком. Но что же это означает? «Серверность» подразумевает, что прежде, чем попасть в браузер пользователя вся информация обрабатывается на вашем веб-сервере.

А вот пример. Скажем кто-то посещает ваш WordPress сайт. Прежде, чем отправить какие-либо файлы этому посетителю, ваш сервер сперва выполняет PHP код, содержащийся в ядре WordPress и во всех темах/плагинах, которые вы установили на свой сайт.

Затем, обработав код, сервер предоставляет результат работы PHP (это HTML код, который фактически получает браузер посетителя).В итоге, в отличие от HTML кода, посетители вашего сайта никогда не увидят код PHP, повышающий эффективность работы вашего WordPress сайта. Они увидят уже обработанный код, который сервер передает их браузерам.

Перед обновлением

Прежде чем вы нажмёте кнопку обновления или сделаете любые изменения на своём сайте WordPress, важно заранее подготовиться к любому развитию событий. Временами случаются ошибки и, если у вас не готов план отступления, вы можете столкнуться с испорченным сайтом и проблемой его воссоздания

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

Для начинающих рекомендуем ввести себе в привычку создание полного бэкапа WordPress.

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

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

Проблемы могут возникать в том случае, если изменения в WordPress конфликтуют с уже имеющимися плагинами.

После обновления не забудьте опять включить свои плагины.

С готовыми бэкапами и без проблем с плагинами давайте перейдём к процессу обновления WordPress.

Начнём с ядра WordPress и далее перейдём к темам и плагинам.

3) Цикл на основе get_posts()

Самый удобный вариант выводить нужные записи в нужном порядке — это выводить их с помощью get_posts() (см. описание). get_posts() в 99% случаев полностью заменяет WP_Query(): нужно вывести 10 последних постов в сайдбаре или 10 случайных записей в подвале — пожалуйста; нужно вывести все картинки прикрепленные к посту или вывести записи с определенным произвольным полем — get_posts() прекрасно справится с этой задачей.

так же как и работает на основе класса и поэтому передаваемые параметры одинаковые (см. их здесь).

#1. Пример цикла на основе . Выведем 5 записей из рубрики 9:

<?php global $post; // не обязательно

// 5 записей из рубрики 9
$myposts = get_posts( array(
	'category' => 9
) );

foreach( $myposts as $post ){
	setup_postdata( $post );

	// стандартный вывод записей
}

wp_reset_postdata(); // сбрасываем переменную $post
?>

Код выведет именно 5 записей, хотя в аргументах мы указали только номер рубрики. Вызвано это тем, что у функции get_posts() есть параметры по умолчанию (см. описание), о которых нужно помнить. Например, если нам нужно вывести все записи из рубрики 9, то мы должны добавить еще параметр ‘nopaging’ => 1 или ‘posts_per_page’ => -1 (разницы нет).

Всегда, когда нужно просто вывести записи из БД в любом месте шаблона. Когда нужно создать несколько циклов. Так как get_posts() принимает те же параметры что и query_posts(), её очень удобно использовать для вывода записей по самым разным критериям.

Ошибки PHP 7.1 и WordPress

WordPress же уже давно полностью готов и корректно функционирует с PHP 7.1, как и плагины, обновление которых происходит время от времени. Однако если же вы используете какой-либо плагин в WordPress, который обновлялся последний раз года четыре назад, то проблема может возникнуть.

Однако проверяется это достаточно легко – визуальной проверкой функционала, что реализуется плагинами в движке WordPress.

Также для проверки корректности функционирования стоит включить DEBUG режим в WordPress (как его включить), и посмотреть лог файл, который создаётся в случае наличия ошибок

Если в нём будут прописываться ошибки, то стоит обратить внимание на файл и путь к нему, который эту самую ошибку вызывает

Как я уже говорил, WordPress полностью готов к PHP 7.1 и никаких ошибок в логе быть не должно. В моём случае ошибок не было вовсе, причём на всех сайтах, которые я переводил на PHP 7.1. Однако это связанно с тем, что я в своей работе использую малое количество плагинов, и преимущественно популярных, которые время от времени обновляются.

Однако если у вас лог будет писаться ошибка, то стоит найти её причину. Вероятнее всего причиной ошибки (даже если визуально всё работает корректно, как и до перевода на PHP 7.1) будет являться устаревший плагин. В этом случае необходимо подыскать замену старому плагину, который не только не отвечает современным требованиям, но и может являться потенциально уязвимым.

Необходимо понимать, что любой плагин является дополнением к WordPress, который в свою очередь неустанно обновляется сообществом разработчиков. И даже если сейчас всё прекрасно, то в новой версии WordPress может быть упразднена\заменена та или иная функция, и плагин не только не сможет выполнять свои обязанности, но и вовсе «поломает» работоспособность сайта.

Я не говорю про многочисленные незакрытые уязвимости, которые существуют в старых плагинах. В злонамеренных целях было создано множество полностью автоматизированных роботов-сканеров, которые ежедневно сканируют сайты на предмет использования уязвимых плагинов, с помощью которых впоследствии осуществляется взлом сайта и размещение на страницах вредоносного кода и т.п.

Так что использование давно не обновлявшихся плагинов, как, впрочем, и игнорирование обновлений самого движка WordPress – чревато.

PHP Return Type Declarations

PHP 7 also supports Type Declarations for the
statement. Like with the type declaration for function arguments, by enabling the strict requirement, it will throw a «Fatal
Error» on a type mismatch.

To declare a type for the function return, add a colon (
) and the type right before the opening curly
( )bracket when declaring the function.

In the following example we specify the return type for the function:

Example

<?php declare(strict_types=1); // strict requirementfunction addNumbers(float
$a, float $b) : float {    return $a + $b;}echo addNumbers(1.2, 5.2);
?>

You can specify a different return type, than the argument types, but make
sure the return is the correct type:

Example

<?php declare(strict_types=1); // strict requirementfunction addNumbers(float
$a, float $b) : int {    return (int)($a + $b);}
echo addNumbers(1.2, 5.2); ?>

Обновление в три шага

Это краткая инструкция. Чтобы узнать больше, обратитесь к
подробному описанию. Это также поможет, если у Вас возникли проблемы с «обновлением в три шага».

Предупреждение перед началом

Если у вас появились сложности с «обновлением в три шага», описанным здесь, вам может потребоваться вернуть старую версию прежде чем воспользоваться более детальной инструкцией по обновлению (например, восстановите из резервной копии, сделанной на шаге 0). Even though you might not run into any errors with this process right away, you might run into problems later down the line. Then it may not be possible to revert far enough back to fix the problem without losing any recent changes.

Так, если вы используете плагины и темы, не входящие в WordPress по умолчанию, целесообразно начать с более детальной инструкции.

Шаг 0: Прежде чем вы начнете

  • На случай, если что-нибудь пойдет не так, будьте уверены, что сделали резервную копию. Исчерпывающая инструкция здесь.
  • Убедитесь, что пользователь базы данных, зарегистрированный в WordPress имеет права создавать, модифицировать и удалять таблицы базы данных. Если вы установили WordPress обычным путем и ничего с тех пор не менялось, все в порядке.
  • Деактивируйте ваши плагины. Плагины могут быть несовместимы с новой версией, так что было бы хорошо поискать их более новые версии и деактивировать их в любом случае во избежание проблем.Вы сможете реактивировать их один за другим после обновления.

Шаг 1: Замена файлов WordPress

  1. Удалите старые файлы в директориях и .
  2. Скопируйте новые файлы WordPress на ваш сервер поверх старых файлов в корневую директорию. Для этого вы можете воспользоваться командами FTP или shell. Заметим, что это подразумевает *все* файлы, включая все файлы в корневой директории. Если вы используете тему «default» или «classic» и вы вносили в них изменения, вы можете пропустить файлы темы.

ЗАМЕЧАНИЕ   Директория требует особого внимания, как и директории и . Вы должны скопировать поверх содержимое
этих директорий, а не директорию целиком, чтобы сохранить все настройки и добавленное содержимое.

Шаг 2: Обновление вашей установки

Перейдите на главную административную страницу WordPress по адресу /wp-admin. Возможно, потребуется повторная авторизация. Если обновление необходимо в этой точке, WordPress обнаружит это и предложит вам ссылку вроде . Перейдите по этой ссылке и следуйте дальнейшим инструкциям. База данных обновится для совместимости с новой версией. Если вы прервете этот процесс, ваш блог может странно выглядеть.

Шаг 3: Сделайте что-нибудь хорошее для себя

Если у вас разрешено кэширование, внесенные изменения будут доступны пользователям скорее, если вы очистите кэш (а если нет, то не удивляйтесь старому номеру версии в «подвале» некоторых страниц).

Ваш блог успешно обновлен. Это самый простой способ без использования обновления WordPress при помощи Subversion.

Consider rewarding yourself with a blog post about the upgrade, reading that book or article you’ve been putting off, or simply sitting back for a few moments and let the world pass you by.

Типичные ошибки при установке темы

Рассмотрим типичные ошибки при установке темы WordPress и способы их решения.

Ошибка: Архив не удалось установить. В теме отсутствует таблица стилей style.css

Типичная ошибка, которая возникает в том случае, когда пользователь пытается загрузить в WordPress не установочный файл темы, а полный архив темы (с документацией, плагинами, демо-данными и пр.).

Чтобы избежать этой ошибки вы должны распаковать архив с премиум темой, найти внутри архива установочный файл темы и именно его использовать для установки в WordPress.

Ошибка: Вы уверены, что хотите это сделать?

Типичная ошибка, которая возникает в том случае, если на сервере установлены неправильные настройки PHP (см. проверка конфигурации и настроек сервера).

Ошибки PHP, ошибка 500 или белый экран после активации темы

Такие ошибки возникают часто, если ваш сервер не удовлетворяет рекомендуемым требованиям к версии PHP, установленной на сервере (см. проверка конфигурации и настроек сервера). Мы рекомендуем использовать PHP версии 5.6.

Если вы выбрали правильную версию PHP, но ошибка всё равно происходит, возможно имеют место несовместимости с текущими установленными плагинами или несовместимость темы с установленной версией WordPress.

Ещё одна причина по которой могут возникать ошибки на сервере – неправильно установленные атрибуты у файлов и папок WordPress. Зайдите в панель управления хостингом и обязательно проверьте права у папок и файлов. У файлов права должны быть 644, у папок 755.

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

Зачем обновлять WordPress?

Нужно ли мне обновлять WordPress? Определённо – да, и здесь не может быть вопроса.

Вы удивлены, почему вы должны обновлять свой сайт на WordPress, если у вас уже и так есть вся необходимая вам функциональность?

Что ж, обновление WordPress даёт такие уникальные преимущества, как:

  • Улучшение безопасности WordPress, поскольку обновления обычно исправляют ошибки и уязвимости в безопасности
  • Больше инструментов и функциональности, которые вы бы не хотели пропустить
  • Улучшение показателей скорости и производительности, с каждой новой версией WordPress
  • Совместимость с современными темами, плагинами и веб-технологиями

Runtime Configuration

The behavior of the error functions is affected by settings in php.ini.

Errors and logging configuration options:

Name Default Description Changeable
error_reporting NULL Sets the error reporting level (either an integer or  named constants) PHP_INI_ALL
display_errors «1» Specifies whether errors should be printed to the screen, or if they should be hidden from the user.Note: This feature should never be used on production systems (only to support your development) PHP_INI_ALL
display_startup_errors «0» Even when display_errors is on, errors that occur during PHP’s startup sequence are not displayedNote: It is strongly recommended to keep display_startup_errors off, except for debugging PHP_INI_ALL
log_errors «0» Defines whether script error messages should be logged to the server’s error log or error_log. Note: It is strongly advised to use error logging instead of error displaying on production web sites PHP_INI_ALL
log_errors_max_len «1024» Sets the maximum length of log_errors in bytes. The value «0» can be used to not apply any maximum length at all. This length is applied to logged errors, displayed errors, and also to $php_errormsg (available since PHP 4.3) PHP_INI_ALL
ignore_repeated_errors «0» Specifies whether to log repeated error messages. When set to «1» it will not log errors with repeated errors from the same file on the same line (available since PHP 4.3) PHP_INI_ALL
ignore_repeated_source «0» Specifies whether to log repeated error messages. When set to «1» it will not log errors with repeated errors from different files or source lines (available since PHP 4.3) PHP_INI_ALL
report_memleaks «1» If set to «1» (the default), this parameter will show a report of memory leaks detected by the Zend memory manager (available since PHP 4.3) PHP_INI_ALL
track_errors «0» If set to «1», the last error message will always be present in the variable $php_errormsg PHP_INI_ALL
html_errors «1» Turns off HTML tags in error messages PHP_INI_ALLPHP_INI_SYSTEM in PHP
xmlrpc_errors «0» Turns off normal error reporting and formats errors as XML-RPC error message (available since PHP 4.1) PHP_INI_SYSTEM
xmlrpc_error_number «0» Used as the value of the XML-RPC faultCode element (available since PHP 4.1) PHP_INI_ALL
docref_root «» (available since PHP 4.3) PHP_INI_ALL
docref_ext «» (available since PHP 4.3.2) PHP_INI_ALL
error_prepend_string NULL Specifies a string to output before an error message PHP_INI_ALL
error_append_string NULL Specifies a string to output after an error message PHP_INI_ALL
error_log NULL Specifies the name of the file where script errors should be logged. The file should be writable by the web server’s user. If the special value syslog is used, the errors are sent to the system logger instead PHP_INI_ALL

Настройка

Чтобы рейтинг начал отображаться необходимо вставить следующий код в файл single.php:

<?php if(function_exists('the_ratings')) { the_ratings(); } ?>

который обычно находится …/public_html/wp-content/themes/xxx/single.php,
где вместо xxx будет имя вашей темы оформления WordPress.

Код вставляете в месте, где вы планируете выводить рейтинг. На рисунке выше я вставил его перед блоком социальных кнопок.

  • После активации плагина в меню WordPress появляется пункт WP-PostRating с подпунктами:
  • Управление оценками
  • Настройки оценок
  • Шаблоны оценок

Управление оценками

  • Здесь собраны логи и статистика:
  • дата/время;
  • IP с которого голосовали;
  • выставленная оценка;
  • и так далее.

Эта вкладка интересна лишь для аналитики.

Настройки оценок

  • Нам интересен:
  • Изображение — внешний вид рейтинга.
    По умолчанию включено отображение довольно неплохих звездочек.
  • Максимальная оценка – рекомендую установить 5.
    Почему спросите вы? Потому-что именно 5 звезд отображается в сниппете поисковой системы Google.
  • Включить расширенные описания страниц от Google? — Да.
    Это и даст отображение звездочек в сниппете при поиске Гугл.

Шаблоны оценок

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

Единственное что я добавил — небольшое вступление для мотивации:

Ссылка на основную публикацию