Bom essa com certeza é uma ótima dica que influência muito nas visitas do seu blog, porque? Como é meio complicado de ficar navegando pelo blog inteiro procurando matérias, e por esse motivo muitos deixam de navegar, talvez por falta de paciência ou por falta de tempo, então os post relacionados ajuda nessa hora, pois ao visitar uma noticia automaticamente aparecerá os cinco últimos posts relacionados ao tema ou a matéria, facilitando e muito a vida dos seus leitores. uma demostração esta abaixo os posts relacionados do NewTechSound
Primeiro salve um modelo do seu template, isso eu aconselho na maioria dos meus post quando vai alterar o template, como já dito para evitar futuros transtornos.
Primeiro salve um modelo do seu template, isso eu aconselho na maioria dos meus post quando vai alterar o template, como já dito para evitar futuros transtornos.
Segundo você vai clicar dentro do código HTML do seu template e aperta “CTRL+F” ou seja pesquisar e procurar o seguinte código “</head>” agora você vai colar o seguinte código antes da “</head>” e salve.
<script type="text/javascript">
//<![CDATA[
var relatedTitles = new Array();
var relatedTitlesNum = 0;
var relatedUrls = new Array();
function related_results_labels(json) {
for (var i = 0; i < json.feed.entry.length; i++) {
var entry = json.feed.entry[i];
relatedTitles[relatedTitlesNum] = entry.title.$t;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
relatedUrls[relatedTitlesNum] = entry.link[k].href;
relatedTitlesNum++;
break;
}
}
}
}
function removeRelatedDuplicates() {
var tmp = new Array(0);
var tmp2 = new Array(0);
for(var i = 0; i < relatedUrls.length; i++) {
if(!contains(tmp, relatedUrls[i])) {
tmp.length += 1;
tmp[tmp.length - 1] = relatedUrls[i];
tmp2.length += 1;
tmp2[tmp2.length - 1] = relatedTitles[i];
}
}
relatedTitles = tmp2;
relatedUrls = tmp;
}
function contains(a, e) {
for(var j = 0; j < a.length; j++) if (a[j]==e) return true;
return false;
}
function printRelatedLabels() {
var r = Math.floor((relatedTitles.length - 1) * Math.random());
var i = 0;
document.write('<ul>');
while (i < relatedTitles.length && i < 20) {
document.write('<li><a href="' + relatedUrls[r] + '">' + relatedTitles[r] +
'</a></li>');
if (r < relatedTitles.length - 1) {
r++;
} else {
r = 0;
}
i++;
}
document.write('</ul>');
}
//]]>
</script>
Terceiro agora você vai clicar em expandir modelo de widget, e procurar o seguinte código:
<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a>
<b:if cond='data:label.isLast != "true"'>,</b:if>
cole aqui
</b:loop>
</b:if>
E cole o seguinte código abaixo antes desse outro código acima que eu coloquei destacado, "cole aqui", lembrando o código destacado em preto não vai ser retirado, só coloquei em outra cor para não haver confusão e salve o template novamente.
<b:if cond='data:blog.pageType == "item"'>
<script expr:src='"/feeds/posts/default/-/" + data:label.name +
"?alt=json-in-script&callback=related_results_labels&max-results=5"'
type='text/javascript'/>
</b:if>
os dois códigos juntos vão ficar dessa forma:
<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a>
<b:if cond='data:label.isLast != "true"'>,</b:if>
<b:if cond='data:blog.pageType == "item"'>
<script expr:src='"/feeds/posts/default/-/" + data:label.name +
"?alt=json-in-script&callback=related_results_labels&max-results=5"'
type='text/javascript'/>
</b:if>
</b:loop>
</b:if>
Após feito isso você vai pesquisar novamente esse outro código.
<p class='post-footer-line post-footer-line-3'/>
E por fim logo abaixo desse código acima você vai colar esse outro código e pronto é so salvar, e pode verificar que esta funcionando já os post relacionados.
<b:if cond='data:blog.url != data:blog.homepageUrl'>Posts Relacionados</b:if>
<script type='text/javascript'>
removeRelatedDuplicates();
printRelatedLabels();
</script>
5 comentários:
No meu blog não funcionou, tentei umas 3 vezes e nada!
Vou tentar novamente! Obrigada!
Muito obrigado!! Eu tinha visto esse código em outro lugar, mas acredito que estava com algum erro e não funcinou. Tentei mais uma vez com o código postado aqui e deu tudo certo agora. Quer dizer, pra ficar perfeito ele teria que excluir o próprio post que está sendo visualisado, mas mesmo assim está ótimo ^^
O codigo só funciona quando você clica em apenas em uma postagem. Por isso dizem todos dizem que não funcionam..
boa dica..
sensacional! Valeu
Postar um comentário