Как добавить раздел / виджет похожие сообщения в Blogger
Как добавить раздел / виджет похожие сообщения в блог на платформе Google Blogger.
Одним из важных элементов в макете блога является раздел с контентом. Как бы не был хорош ваш контент, если вы не предлагаете аналогичные или совпадающие сообщения для этого поста в блоге, вы не можете ожидать что пользователь не покинет ваш блог прочитав только одну статью. Поисковые системы также предпочитают ранжировать сайты, на которых посетители тратят больше времени на просмотр контента.
Сегодня мы собираемся научиться установить раздел / виджет похожих сообщений в блог на платформе Google Blogger. Этот раздел появится в нижней части поста на отдельных страницах поста. После его интеграции вы наверняка станете свидетелями увеличения количества просмотров страниц. Перед попыткой интеграции сделайте резервную копию вашего шаблона Blogger. Лучшая стратегия будет сначала проверить это на демо блоге.
Я использовал этот раздел похожих сообщений на одном из моих блогов в течение многих лет. Помните, если ваш блог является новым всего с несколькими постами, соответствующий раздел контента может работать не так, как ожидалось. Поэтому убедитесь, что в блоге достаточно постов, чтобы он работал - без нареканий.
Добавьте основной CSS и JavaScript.
Сделав резервную копию шаблона, откройте его HTML-код на панели инструментов Blogger. Перейдите в раздел Тема → Изменить HTML, чтобы открыть код шаблона.Все приведенные ниже фрагменты кода должны быть включены непосредственно перед </head> тегом в шаблоне. Включение должно быть в том порядке, в котором они указаны ниже.
Прежде всего, добавьте следующие правила CSS, которые применяют базовые стили к разделу похожие сообщения
<style>
#related-posts{
float:center;
text-transform:none;
height:100%;
padding-top:20px;
padding-left:5px;
font-size:15px;
border-top:1px solid #ddd;
margin-top:25px
}
#related-posts h2{
font-size:25px;
text-transform:none;
letter-spacing:0em;
color:#555;
font-family:Georgia,sans-serif;
margin-bottom:.7em;
margin-top:0em;
padding-top:0em
}
#related-posts a{
font-family:Georgia,serif;
text-align:center;
border-right:1px dotted #DDD;
color:#2361A1;
padding:10px 10px 0 10px!important;
min-height:250px
}
#related-posts a:hover{
background-color:#E5E5E5
}
</style>
И прямо под этими правилами CSS добавьте следующий код JavaScript. Это основной код раздела похожих сообщений, необходимый для его функционирования.
<b:if cond='data:blog.pageType == "item"'>
<script type='text/javascript'>
/*<![CDATA[*/
var post_thumbnail_width = 180;var post_thumbnail_height = 120;var max_related_entries = 6;
function escapeRegExp(string){return string.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function replaceAll(str,term,replacement){return str.replace(new RegExp(escapeRegExp(term),"g"),replacement)}function display_related_posts(json_feed){for(var defaultnoimage="https://i.ibb.co/yS6JvBh/no-image.jpg",post_titles=new Array,title_num=0,post_urls=new Array,post_thumbnail_url=new Array,relatedpoststitle=(window.location.href,"You might also like:"),border_color="#DDDDDD",i=0;i<json_feed.feed.entry.length;i++){var feed_entry=json_feed.feed.entry[i];post_titles[title_num]=feed_entry.title.$t;try{post_thumbnail_url[title_num]=feed_entry.media$thumbnail.url}catch(error){s=feed_entry.content.$t,a=s.indexOf("<img"),b=s.indexOf('src="',a),c=s.indexOf('"',b+5),d=s.substr(b+5,c-b-5),-1!=a&&-1!=b&&-1!=c&&""!=d?post_thumbnail_url[title_num]=d:"undefined"!=typeof defaultnoimage?post_thumbnail_url[title_num]=defaultnoimage:post_thumbnail_url[title_num]="https://i.ibb.co/yS6JvBh/no-image.jpg"}for(var k=0;k<feed_entry.link.length;k++)"alternate"==feed_entry.link[k].rel&&(post_urls[title_num]=feed_entry.link[k].href,title_num++)}var random_entry=Math.floor((post_titles.length-1)*Math.random()),iteration=0;if(post_titles.length>0){var rp_heading=document.createElement("h2"),textnode=document.createTextNode(relatedpoststitle);rp_heading.appendChild(textnode),document.getElementById("related-posts").appendChild(rp_heading);var rp_container=document.createElement("div");rp_container.setAttribute("style","clear: both;"),rp_container.setAttribute("id","rp-container"),document.getElementById("related-posts").appendChild(rp_container)}for(;iteration<post_titles.length&&20>iteration&&max_related_entries>iteration;)if(post_urls[random_entry]!=currentURL){var rp_anchor=document.createElement("a");0!=iteration?rp_anchor.setAttribute("style","text-decoration:none;padding:10px;float:left;border-left: none "+border_color+";"):rp_anchor.setAttribute("style","text-decoration:none;padding:10px;float:left;"),rp_anchor.setAttribute("id","rp-anchor-"+iteration),rp_anchor.setAttribute("href",post_urls[random_entry]),document.getElementById("rp-container").appendChild(rp_anchor);var rp_img=document.createElement("img");rp_img.setAttribute("style","width:"+post_thumbnail_width+"px;height:"+post_thumbnail_height+"px; border:1px solid #CCCCCC;"),rp_img.setAttribute("id","rp-img-"+iteration);var pin=String(post_thumbnail_url[random_entry].match(/\/s72-c\//));post_thumbnail_url[random_entry]=replaceAll(post_thumbnail_url[random_entry],pin,"/w"+post_thumbnail_width+"-h"+post_thumbnail_height+"-p/"),rp_img.setAttribute("src",post_thumbnail_url[random_entry]),rp_img.setAttribute("alt","Matched post excerpt thumbnail in the post footer."),document.getElementById("rp-anchor-"+iteration).appendChild(rp_img);var rp_para=document.createElement("div");rp_para.setAttribute("style","width:"+post_thumbnail_width+"px; height:"+post_thumbnail_height+"px;border: 0pt none ; margin: auto; padding-top: 18px; line-height:1.6;"),rp_para.setAttribute("id","rp-para-"+iteration);var textnode=document.createTextNode(post_titles[random_entry]);rp_para.appendChild(textnode),document.getElementById("rp-anchor-"+iteration).appendChild(rp_para),iteration++,random_entry<post_titles.length-1?random_entry++:random_entry=0}else iteration++,random_entry<post_titles.length-1?random_entry++:random_entry=0;post_urls.splice(0,post_urls.length),post_thumbnail_url.splice(0,post_thumbnail_url.length),post_titles.splice(0,post_titles.length)}
/*]]>*/
</script>
</b:if>
Каждая запись в разделе похожие сообщения включает в себя миниатюрное изображение, выбранное из поста, а также заголовок поста. Эскизное изображение обычно является первым изображением, включенным в сообщение.
Числовые значения присваиваются переменным post_thumbnail_widthи, post_thumbnail_height управляют шириной и высотой миниатюрного изображения. Эти числовые значения используются в качестве значений пикселей в коде. Вы можете изменить эти числовые значения в соответствии с вашими потребностями.
Совет для профессионалов: для достижения наилучших результатов либо сохраняйте одинаковые значения миниатюр ширины и высоты, либо ширину на 20–30% больше, чем высота.
В зависимости от ширины раздела содержимого вашей темы вам может потребоваться настроить размер эскиза с помощью обеих этих переменных. Не стесняйтесь экспериментировать с размером миниатюры в своем блоге. Третья переменная контролирует максимальное количество записей, которые вы хотите в этом разделе. Значение по умолчанию гарантирует, что в этом разделе можно получить максимум 6 похожих сообщений. Вы можете увеличить или уменьшить это значение в соответствии с вашими требованиями. Вот как может выглядеть пример раздела связанных постов. Здесь максимальное количество записей, разрешенных в этом разделе, равно 6, а ширина миниатюрного изображения больше высоты. В этот же раздел могут также входить уменьшенные и квадратные миниатюрные изображения и до 8 записей по 4 из них - на строку.
Теперь, когда мы интегрировали основные CSS и JavaScript для раздела связанных постов, пришло время завершить последний и самый важный шаг.
Вставить код рендеринга раздела
Есть еще одна вещь, чтобы завершить всю настройку. Несмотря на то, что у нас есть код стиля и рендеринга в заголовке, нам все равно нужно вызвать и выполнить его в нужном месте в шаблоне, чтобы раздел похожие сообщения появился в нужном месте в макете. Это то, что мы собираемся сделать дальше.
В зависимости от вашего шаблона и его текущего состояния, код выполнения может быть помещен в один из двух мест, упомянутых ниже. В HTML-коде шаблона найдите следующую строку.
В зависимости от вашего шаблона и его текущего состояния, код выполнения может быть помещен в один из двух мест, упомянутых ниже. В HTML-коде шаблона найдите следующую строку.
<div class='post-footer'> или <data:post.body/>
Сначала вставьте код ниже строки и сохраните шаблон. Откройте одно из сообщений в блоге, чтобы увидеть, хорошо ли выглядит раздел в том месте, где вы хотите его видеть.
Если это не так, удалите код под строкой и вставьте его поверх строки. Еще раз обновите веб-страницу и посмотрите расположение раздела похожие сообщения. И вот последний фрагмент кода, который нужно вставить ниже / выше строки, упомянутой выше.
<b:if cond='data:blog.pageType == "item"'>
<div id='related-posts'>
<b:loop index='labelcount' values='data:post.labels' var='label'>
<script>
var currentURL = '<data:blog.url/>';
</script>
<b:if cond='data:labelcount < 1'>
<script async='async' expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&callback=display_related_posts"' type='text/javascript'/></b:if></b:loop>
</div><div style='clear:both'/>
</b:if>
Если ваш шаблон Blogger адаптивный, похожие сообщения разделе будут автоматически корректироваться на небольших устройствах. Опытные пользователи могут полностью настроить стиль и макет этого раздела.
Если вы не можете успешно интегрировать его, напишите мне, и я сделаю все возможное, чтобы помочь вам.
1. найди код post-footer полный код в тексте сообщения, их будет несколько, нам нужен последний
2. После него вставь код рендеринга раздела, не обращай внимание на блок Blog1.
3. Если у тебя другая тема, попробуй вставить код после
4. В посте внёс исправления
У меня на теме сработал 1 вариант, просто гугл обновляет код и не всегда он начинает работать