Como adicionar a opção “Imprimir este artigo”

Imprimir um artigo não é tão interessante para blogs de maneira geral, quem é que imprime os artigos do pBlog? Ninguém. De qualquer forma eu adicionei um link na página dos posts para testar este recurso. Porém, em alguns projetos, é muito interessante ter este recurso, por exemplo, em um site sobre culinária é legal ter esta facilidade para imprimir as receitas, afinal você não vai levar o notebook para junto do fogão, ou vai??! :)

<a href="javascript:window.print()">imprimir este post</a>

O código acima ativa a opção de impressão do navegador e será ele que você adicionará ao seu tema, mas aí você me pergunta: qual a vantagem de colocar um link que apenas irá abrir o quadro de impressão? Agora é que vem o pulo do gato, antes de inserir este código você deverá criar um estilo CSS só para impressão, assim você terá uma formatação específica para tal finalidade.

O novo tema do pBlog, por exemplo, não tinha um estilo CSS para impressão, então eu tive que criar um e não foi nada complicado. Baseado nas dicas do CatsWhoCode criei o seguinte estilo, que chamei-o de print.css:

html {width:100%}
body {background-color: #fff; color: #000; font-size: 12pt;}
a {color: #000;}
img {border: 0;}
#header, #menu, #footer, #sidebar, .postmeta, .navPost, #related, .inAds, .commentlist, #commentform {display:none;}
h1, h2 {page-break-before: auto;}
p {page-break-inside: avoid;}

Você pode e deve copiar este código para criar o seu print.css, a única alteração a ser feita será na linha 05 onde será necessário adicionar os ID’s e classes do seu tema que não deverão aparecer na impressão. Por exemplo, de cara eu adicionei o #header, #menu, #footer, #sidebar, com a propriedade display:none;, assim estas partes do site não aparecerão na hora de imprimir. Depois dei mais uma olhada no código e fui adicionando outras partes que gostaria que não fossem impressas.

Por último será adicionado no header.php a chamada do estilo CSS para impressão, este código deverá estar entre as tags e . Agora basta ligar a impressora!

<link rel="stylesheet" href="<?php bloginfo('stylesheet_directory'); ?>/print.css" type="text/css" media="print" />

Esta dica eu encontrei no blog WP Recipes, que a cada dia trás ótimos códigos para customizar o WordPress. Se você manda bem no inglês adicione-o ao seu leitor de feeds imediatamente, caso contrário, acompanhe o pBlog. :)

This entry was posted in Customização and tagged , , , , . Bookmark the permalink.

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

6 Responses to Como adicionar a opção “Imprimir este artigo”

  1. Alenônimo says:

    Não é bom usar JavaScript diretamente no código fonte, pois o link deixa de funcionar quando se desativa o JavaScript. O ideal é criar um arquivo .js que crie os links assim que é carregado.

    Não sei como poderia ser feito no WordPress para se aproveitar de alguma chamada interna, mas valeria a pena dar uma pesquisada.

  2. Como assim: “quem é que imprime artigos de blogs. Ninguém.”? Eu imprimi os tutoriais aqui do pBlog, ora! :) Mais uma boa dica, Érico. Valeu.

  3. Olá,

    existe um plugin (lá vem eu com plugins) que faz isso. Só que ele faz mais, ele cria um outro estilo para o blog (com menos imagens e cores) e coloca a imagem em uma parte separada. Acredito que seja um bom plugin.

    O nome é muito sugestivo, WP-Print (acho que é assim).

    Até :)

  4. O quê?
    Eu levo o notebook prá perto do fogão!
    Mas o recurso é legal, vai para a minha lista de coisas a incluir…

  5. OiYes says:

    O recurso é bem interessante e extremamente simples de colocar em prática. Talvez caísse bem também em blogs corporativos…

  6. ZackShinra says:

    Boa dica, estou tentando implementar em site corporativo. Porém, seria interessante a possibilidade de visualizar o que será impresso antes de realizar a impressão propriamente dita.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>