Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Как убрать микроразметку рейтинга через вывод {custom..} в полной новости?

Как убрать микроразметку рейтинга через вывод {custom..} в полной новости?


     13.02.2020    Все вопросы » Хаки    892

вопрос
Система вставляет микроразметку рейтинга только на странице полной новости: itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"

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

http://prntscr.com/r1wwmg вот тут его вывод. Можно ли как-то поправить это? Или в крайнем случаи хотя бы в некоторых новостях это убрать. Спасибо!

Ответил: New-dev.ru


Чтобы не вносить изменения в двух файлах, можно применить небольшой костыльный вариант. В файле /engine/modules/show.custom.php после строки if( $row['allow_rate'] ) { добавляем две строки
$temp_dle_module = empty($dle_module) ? '' : $dle_module;
$dle_module = '';

и после строки $tpl->set( '[/rating]', "" ); добавляем
$dle_module = $temp_dle_module;


Если не нравится такой вариант, надо в функцию ShowRating добавить пятый параметр, в зависимости от которого выводим микроразметку и в файле show.custom.php в два вызова функции добавить этот новый параметр.

файл /engine/modules/functions.php
function ShowRating($id, $rating, $vote_num, $allow = true, $schema_enable = true) {
...
if ($vote_num AND $dle_module == "showfull" and $schema_enable) {


файл /engine/modules/show.custom.php
$tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], 1, false ) );
...
$tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], 0, false ) );
Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх